Container System 0.1.0
High-performance C++20 type-safe container framework with SIMD-accelerated serialization
Loading...
Searching...
No Matches
variant_value_factory.h File Reference
#include "value.h"
#include "core/value_types.h"
#include "core/concepts.h"
#include <string>
#include <string_view>
#include <vector>
#include <memory>
#include <type_traits>
#include <concepts>
Include dependency graph for variant_value_factory.h:

Go to the source code of this file.

Namespaces

namespace  kcenon
 
namespace  kcenon::container
 
namespace  kcenon::container::factory
 Modern factory namespace for creating value instances.
 

Functions

template<typename T >
value kcenon::container::factory::make (std::string_view name, T &&val)
 Generic factory template for creating typed values.
 
value kcenon::container::factory::make_null (std::string_view name="")
 Create a null value.
 
value kcenon::container::factory::make_array (std::string_view name, std::vector< std::shared_ptr< value > > values)
 Create an array value from vector of shared_ptr<value>
 
value kcenon::container::factory::make_array (std::string_view name, std::initializer_list< value > values)
 Create an array value from initializer list.
 
value kcenon::container::factory::make_empty_array (std::string_view name)
 Create an empty array value.
 
value kcenon::container::factory::make_container (std::string_view name, std::shared_ptr< thread_safe_container > container)
 Create a container value.
 
value kcenon::container::factory::make_bytes (std::string_view name, const uint8_t *data, size_t size)
 Create a bytes value from raw data pointer.
 
value kcenon::container::factory::make_bytes_from_string (std::string_view name, std::string_view data)
 Create a bytes value from string (copy bytes) Note: This treats the string as binary data.
 
value kcenon::container::make_value_from_raw (std::string_view name, value_types type, const std::vector< uint8_t > &raw_data)
 Create a value from value_types enum and raw data.
 
value kcenon::container::clone_with_name (const value &original, std::string_view new_name)
 Create a copy of a value with a new name.
 
bool kcenon::container::same_type (const value &a, const value &b)
 Check if two values have the same type.
 
std::string_view kcenon::container::type_name (const value &value)
 Get human-readable type name.