Lichen

Annotated templates/native/common.h

934:2989aab1b4f7
12 months ago Paul Boddie Renamed the utf8string class to unicode, eliminating the unicode function. This means that the simple case of merely returning an object if it is already a Unicode object no longer occurs when using the unicode callable, but such behaviour might be better supported with more general customised instantiation functionality.
paul@354 1
/* Common operations for native functions.
paul@354 2
paul@569 3
Copyright (C) 2016, 2017 Paul Boddie <paul@boddie.org.uk>
paul@354 4
paul@354 5
This program is free software; you can redistribute it and/or modify it under
paul@354 6
the terms of the GNU General Public License as published by the Free Software
paul@354 7
Foundation; either version 3 of the License, or (at your option) any later
paul@354 8
version.
paul@354 9
paul@354 10
This program is distributed in the hope that it will be useful, but WITHOUT
paul@354 11
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
paul@354 12
FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
paul@354 13
details.
paul@354 14
paul@354 15
You should have received a copy of the GNU General Public License along with
paul@354 16
this program.  If not, see <http://www.gnu.org/licenses/>.
paul@354 17
*/
paul@354 18
paul@354 19
#ifndef __NATIVE_COMMON_H__
paul@354 20
#define __NATIVE_COMMON_H__
paul@354 21
paul@354 22
#include "types.h"
paul@354 23
paul@354 24
/* Utility functions. */
paul@354 25
paul@758 26
#define __new_int(VALUE) __INTVALUE(VALUE)
paul@583 27
__attr __new_str(char *s, int size);
paul@354 28
__attr __new_list(__fragment *f);
paul@664 29
__fragment *__fragment_append(__fragment *data, __attr value);
paul@354 30
paul@354 31
#endif /* __NATIVE_COMMON_H__ */