Blender V5.0
node_fn_format_string.cc File Reference
#include <charconv>
#include <fmt/format.h>
#include <regex>
#include "RNA_enum_types.hh"
#include "UI_interface_layout.hh"
#include "UI_resources.hh"
#include "BLO_read_write.hh"
#include "NOD_fn_format_string.hh"
#include "NOD_geometry_nodes_lazy_function.hh"
#include "NOD_socket_items_blend.hh"
#include "NOD_socket_items_ops.hh"
#include "NOD_socket_items_ui.hh"
#include "BKE_path_templates.hh"
#include "node_function_util.hh"

Go to the source code of this file.

Classes

struct  blender::nodes::node_fn_format_string_cc::FormatPatternInfo
class  blender::nodes::node_fn_format_string_cc::FormatInputsLookup
struct  blender::nodes::node_fn_format_string_cc::ProcessedPythonCompatibleFormat
class  blender::nodes::node_fn_format_string_cc::FormatStringMultiFunction

Namespaces

namespace  blender
namespace  blender::nodes
namespace  blender::nodes::node_fn_format_string_cc

Functions

static void blender::nodes::node_fn_format_string_cc::node_declare (NodeDeclarationBuilder &b)
static void blender::nodes::node_fn_format_string_cc::node_init (bNodeTree *, bNode *node)
static void blender::nodes::node_fn_format_string_cc::node_copy_storage (bNodeTree *, bNode *dst_node, const bNode *src_node)
static void blender::nodes::node_fn_format_string_cc::node_free_storage (bNode *node)
static bool blender::nodes::node_fn_format_string_cc::node_insert_link (bke::NodeInsertLinkParams &params)
static void blender::nodes::node_fn_format_string_cc::node_operators ()
static void blender::nodes::node_fn_format_string_cc::node_layout_ex (uiLayout *layout, bContext *C, PointerRNA *ptr)
static void blender::nodes::node_fn_format_string_cc::node_blend_write (const bNodeTree &, const bNode &node, BlendWriter &writer)
static void blender::nodes::node_fn_format_string_cc::node_blend_read (bNodeTree &, bNode &node, BlendDataReader &reader)
static std::optional< StringRefblender::nodes::node_fn_format_string_cc::find_format_specifier (const StringRef format)
static int64_t blender::nodes::node_fn_format_string_cc::find_next_format_start_or_end (const StringRef format, const int64_t start, std::string &r_out)
static FormatPatternInfo blender::nodes::node_fn_format_string_cc::get_pattern_by_type_impl (const CPPType &type)
static const FormatPatternInfoblender::nodes::node_fn_format_string_cc::get_pattern_by_type (const CPPType &type)
static std::string blender::nodes::node_fn_format_string_cc::create_invalid_python_compatible_format_error (const StringRef format, const StringRef format_outer, const FormatPatternInfo &pattern)
static std::optional< ProcessedPythonCompatibleFormatblender::nodes::node_fn_format_string_cc::preprocess_python_compatible_syntax (const StringRef format, const StringRef format_outer, const CPPType &type, FormatInputsLookup &inputs_lookup, std::optional< std::string > &r_error)
static void blender::nodes::node_fn_format_string_cc::format_with_fmt (const fmt::runtime_format_string<> format, const GVArray &input, const GVArray *widths, const GVArray *precisions, const IndexMask &mask, MutableSpan< std::string > r_formatted_strings)
static void blender::nodes::node_fn_format_string_cc::format_with_python_compatible_syntax (const StringRef format_pattern, const StringRef format_outer, const GVArray &input, const IndexMask &mask, FormatInputsLookup &inputs_lookup, MutableSpan< std::string > r_formatted_strings, std::optional< std::string > &r_error)
static void blender::nodes::node_fn_format_string_cc::format_with_hash_syntax (const StringRef format_pattern, const GVArray &input, const IndexMask &mask, MutableSpan< std::string > r_formatted_strings, std::optional< std::string > &r_error)
static void blender::nodes::node_fn_format_string_cc::format_without_format_specifier (const GVArray &input, const IndexMask &mask, MutableSpan< std::string > r_formatted_strings, std::optional< std::string > &r_error)
static bool blender::nodes::node_fn_format_string_cc::format_strings (const StringRef format, const Span< GVArray > inputs, const VectorSet< std::string > &input_names, const IndexMask &mask, MutableSpan< std::string > r_formatted_strings, std::optional< std::string > &r_error)
static void blender::nodes::node_fn_format_string_cc::node_build_multi_function (NodeMultiFunctionBuilder &builder)
static void blender::nodes::node_fn_format_string_cc::node_register ()