Cbeam
Loading...
Searching...
No Matches
xpod.hpp File Reference
#include <cbeam/memory/pointer.hpp>
#include <cstddef>
#include <iosfwd>
#include <string>
#include <variant>
Include dependency graph for xpod.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  cbeam
 The root namespace for the Cbeam library. This namespace unifies cross-platform utilities for concurrency, memory management, file handling, logging, serialization, and more. Its purpose is to provide a cohesive collection of modern C++ components that address common system-level and application-level tasks, while promoting thread-safety, interprocess communication, and stable resource handling across varied platform APIs.
 
namespace  cbeam::container
 Offers advanced container types with unique approaches to stability and interprocess sharing. Besides standard helpers like buffer and circular_buffer, it includes innovative classes such as stable_interprocess_container and stable_interprocess_map. These support shared-memory usage, ensuring consistent serialization and robust data exchange across process boundaries or differing compiler environments.
 
namespace  cbeam::container::xpod
 Provides a specialized variant type (xpod::type) for simple data exchange, supporting integer, floating-point, boolean, pointers, and strings. This namespace is designed for compactness and serializability, letting you store fundamental data types in a variant structure. By including additional headers, the variant gains transparent serialization capabilities without sacrificing performance.
 
namespace  cbeam::container::xpod::type_index
 Defines index constants for the xpod::type variant (e.g., integer, number, boolean, pointer, string). These constants allow you to refer to a specific type index in the underlying variant, simplifying code that checks or extracts a particular xpod type.
 

Typedefs

using cbeam::container::xpod::type = std::variant<long long, double, bool, memory::pointer, std::string>
 A variant designed for basic data types. memory::pointer is used in place of void* to provide additional features.
 

Functions

std::ostream & cbeam::container::xpod::operator<< (std::ostream &os, const xpod::type &v)
 Overload of the insertion operator to output the contents of an xpod::type.
 

Variables

constexpr std::size_t cbeam::container::xpod::type_index::integer {0}
 
constexpr std::size_t cbeam::container::xpod::type_index::number {1}
 
constexpr std::size_t cbeam::container::xpod::type_index::boolean {2}
 
constexpr std::size_t cbeam::container::xpod::type_index::pointer {3}
 
constexpr std::size_t cbeam::container::xpod::type_index::string {4}