Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
kcenon::network::integration::basic_container Class Reference

Basic container implementation for standalone use. More...

#include <container_integration.h>

Inheritance diagram for kcenon::network::integration::basic_container:
Inheritance graph
Collaboration diagram for kcenon::network::integration::basic_container:
Collaboration graph

Classes

class  impl
 

Public Member Functions

 basic_container ()
 
 ~basic_container ()
 
std::vector< uint8_t > serialize (const std::any &data) const override
 Serialize data to bytes.
 
std::any deserialize (const std::vector< uint8_t > &bytes) const override
 Deserialize bytes to data.
 
std::string type_name () const override
 Get container type name.
 
bool is_valid () const override
 Check if container is valid.
 
void set_serializer (std::function< std::vector< uint8_t >(const std::any &)> serializer)
 Set custom serializer.
 
void set_deserializer (std::function< std::any(const std::vector< uint8_t > &)> deserializer)
 Set custom deserializer.
 
- Public Member Functions inherited from kcenon::network::integration::container_interface
virtual ~container_interface ()=default
 

Private Attributes

std::unique_ptr< implpimpl_
 

Detailed Description

Basic container implementation for standalone use.

This provides a simple container implementation for when container_system is not available.

Definition at line 116 of file container_integration.h.

Constructor & Destructor Documentation

◆ basic_container()

kcenon::network::integration::basic_container::basic_container ( )

Definition at line 142 of file container_integration.cpp.

143 : pimpl_(std::make_unique<impl>()) {
144}

◆ ~basic_container()

kcenon::network::integration::basic_container::~basic_container ( )
default

Member Function Documentation

◆ deserialize()

std::any kcenon::network::integration::basic_container::deserialize ( const std::vector< uint8_t > & bytes) const
overridevirtual

Deserialize bytes to data.

Parameters
bytesThe bytes to deserialize
Returns
Deserialized data

Implements kcenon::network::integration::container_interface.

Definition at line 152 of file container_integration.cpp.

152 {
153 return pimpl_->deserialize(bytes);
154}
std::any deserialize(const std::vector< uint8_t > &bytes) const

References kcenon::network::integration::basic_container::impl::deserialize(), and pimpl_.

Here is the call graph for this function:

◆ is_valid()

bool kcenon::network::integration::basic_container::is_valid ( ) const
overridevirtual

Check if container is valid.

Returns
true if valid, false otherwise

Implements kcenon::network::integration::container_interface.

Definition at line 160 of file container_integration.cpp.

160 {
161 return true;
162}

◆ serialize()

std::vector< uint8_t > kcenon::network::integration::basic_container::serialize ( const std::any & data) const
overridevirtual

Serialize data to bytes.

Parameters
dataThe data to serialize
Returns
Serialized bytes

Implements kcenon::network::integration::container_interface.

Definition at line 148 of file container_integration.cpp.

148 {
149 return pimpl_->serialize(data);
150}
std::vector< uint8_t > serialize(const std::any &data) const

References pimpl_, and kcenon::network::integration::basic_container::impl::serialize().

Here is the call graph for this function:

◆ set_deserializer()

void kcenon::network::integration::basic_container::set_deserializer ( std::function< std::any(const std::vector< uint8_t > &)> deserializer)

Set custom deserializer.

Parameters
deserializerCustom deserialization function

Definition at line 170 of file container_integration.cpp.

172 {
173 pimpl_->set_deserializer(deserializer);
174}
void set_deserializer(std::function< std::any(const std::vector< uint8_t > &)> deserializer)

References pimpl_, and kcenon::network::integration::basic_container::impl::set_deserializer().

Here is the call graph for this function:

◆ set_serializer()

void kcenon::network::integration::basic_container::set_serializer ( std::function< std::vector< uint8_t >(const std::any &)> serializer)

Set custom serializer.

Parameters
serializerCustom serialization function

Definition at line 164 of file container_integration.cpp.

166 {
167 pimpl_->set_serializer(serializer);
168}
void set_serializer(std::function< std::vector< uint8_t >(const std::any &)> serializer)

References pimpl_, and kcenon::network::integration::basic_container::impl::set_serializer().

Here is the call graph for this function:

◆ type_name()

std::string kcenon::network::integration::basic_container::type_name ( ) const
overridevirtual

Get container type name.

Returns
Type name string

Implements kcenon::network::integration::container_interface.

Definition at line 156 of file container_integration.cpp.

156 {
157 return "basic_container";
158}

Member Data Documentation

◆ pimpl_

std::unique_ptr<impl> kcenon::network::integration::basic_container::pimpl_
private

Definition at line 145 of file container_integration.h.

Referenced by deserialize(), serialize(), set_deserializer(), and set_serializer().


The documentation for this class was generated from the following files: