3#ifndef RUDIMENTS_NODEINLINES_H
4#define RUDIMENTS_NODEINLINES_H
6#include <rudiments/charstring.h>
7#include <rudiments/wcharstring.h>
8#include <rudiments/stdio.h>
54 delete[] (
char *)*value;
68 delete[] (
wchar_t *)*value;
102 delete[] (byte_t *)*value;
141template <
class valuetype>
151template <
class valuetype>
163void node_zero_value(
const char **value) {
164 *((
char **)value)=
NULL;
168void node_zero_value(
char **value) {
173void node_zero_value(
const wchar_t **value) {
174 *((
wchar_t **)value)=
NULL;
178void node_zero_value(
wchar_t **value) {
183void node_zero_value(
char *value) {
188void node_zero_value(
wchar_t *value) {
193void node_zero_value(int16_t *value) {
198void node_zero_value(int32_t *value) {
203void node_zero_value(int64_t *value) {
208void node_zero_value(
const byte_t **value) {
209 *((byte_t **)value)=
NULL;
213void node_zero_value(byte_t **value) {
218void node_zero_value(byte_t *value) {
223void node_zero_value(uint16_t *value) {
228void node_zero_value(uint32_t *value) {
233void node_zero_value(uint64_t *value) {
238void node_zero_value(
float *value) {
243void node_zero_value(
double *value) {
248void node_zero_value(
long double *value) {
252template <
class valuetype>
258template <
class valuetype>
270char *node_duplicate_value(
const char **value,
275 return (
char *)value;
280char *node_duplicate_value(
char **value,
290const wchar_t *node_duplicate_value(
const wchar_t **value,
295 return (
wchar_t *)*value;
300wchar_t *node_duplicate_value(
wchar_t **value,
310char node_duplicate_value(
char *value,
316wchar_t node_duplicate_value(
wchar_t *value,
322int16_t node_duplicate_value(int16_t *value,
328int32_t node_duplicate_value(int32_t *value,
334int64_t node_duplicate_value(int64_t *value,
340byte_t *node_duplicate_value(
const byte_t **value,
347 return (byte_t *)*value;
352byte_t *node_duplicate_value(byte_t **value,
364byte_t node_duplicate_value(byte_t *value,
370uint16_t node_duplicate_value(uint16_t *value,
376uint32_t node_duplicate_value(uint32_t *value,
382uint64_t node_duplicate_value(uint64_t *value,
388float node_duplicate_value(
float *value,
394double node_duplicate_value(
double *value,
400long double node_duplicate_value(
long double *value,
405template <
class valuetype>
419template <
class valuetype>
static char * duplicate(const char *str)
static wchar_t * duplicate(const wchar_t *str)