20 "Slice", [](
const std::string &
str,
int a,
int b) {
24 return str.substr(start, std::max<int>(end - start, 0));
#define NODE_CLASS_CONVERTER
void nodeRegisterType(struct bNodeType *ntype)
#define FN_NODE_SLICE_STRING
int BLI_str_utf8_offset_from_index(const char *str, int index) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
size_t BLI_strlen_utf8(const char *strc) ATTR_NONNULL(1) ATTR_WARN_UNUSED_RESULT
void set_matching_fn(const MultiFunction *fn)
T clamp(const T &a, const T &min, const T &max)
static void fn_node_slice_string_build_multi_function(NodeMultiFunctionBuilder &builder)
static void fn_node_slice_string_declare(NodeDeclarationBuilder &b)
static const pxr::TfToken b("b", pxr::TfToken::Immortal)
void register_node_type_fn_slice_string()
void fn_node_type_base(bNodeType *ntype, int type, const char *name, short nclass)
NodeMultiFunctionBuildFunction build_multi_function
NodeDeclareFunction declare