Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
sysio::chain::impl::generate_path_string_visitor Struct Reference

Public Types

using result_type = void
 

Public Member Functions

 generate_path_string_visitor (bool shorten_names, bool track_only)
 
void add_dot ()
 
void operator() (const empty_path_item &item)
 
void operator() (const array_index_path_item &item)
 
void operator() (const field_path_item &item)
 
void operator() (const variant_path_item &item)
 
void operator() (const empty_path_root &item)
 
void operator() (const array_type_path_root &item)
 
void operator() (const struct_type_path_root &item)
 
void operator() (const variant_type_path_root &item)
 

Public Attributes

std::stringstream s
 
bool shorten_names = false
 
bool track_only = false
 
path_item last_path_item
 

Detailed Description

Definition at line 737 of file abi_serializer.cpp.

Member Typedef Documentation

◆ result_type

Constructor & Destructor Documentation

◆ generate_path_string_visitor()

sysio::chain::impl::generate_path_string_visitor::generate_path_string_visitor ( bool shorten_names,
bool track_only )
inline

Member Function Documentation

◆ add_dot()

void sysio::chain::impl::generate_path_string_visitor::add_dot ( )
inline

Definition at line 749 of file abi_serializer.cpp.

749 {
750 s << ".";
751 }

◆ operator()() [1/8]

void sysio::chain::impl::generate_path_string_visitor::operator() ( const array_index_path_item & item)
inline

Definition at line 756 of file abi_serializer.cpp.

756 {
757 if( track_only ) {
758 last_path_item = item;
759 return;
760 }
761
762 s << "[" << item.array_index << "]";
763 }

◆ operator()() [2/8]

void sysio::chain::impl::generate_path_string_visitor::operator() ( const array_type_path_root & item)
inline

Definition at line 790 of file abi_serializer.cpp.

790 {
791 s << "ARRAY";
792 }

◆ operator()() [3/8]

void sysio::chain::impl::generate_path_string_visitor::operator() ( const empty_path_item & item)
inline

Definition at line 753 of file abi_serializer.cpp.

753 {
754 }

◆ operator()() [4/8]

void sysio::chain::impl::generate_path_string_visitor::operator() ( const empty_path_root & item)
inline

Definition at line 787 of file abi_serializer.cpp.

787 {
788 }

◆ operator()() [5/8]

void sysio::chain::impl::generate_path_string_visitor::operator() ( const field_path_item & item)
inline

Definition at line 765 of file abi_serializer.cpp.

765 {
766 if( track_only ) {
767 last_path_item = item;
768 return;
769 }
770
771 const auto& str = item.parent_struct_itr->second.fields.at(item.field_ordinal).name;
772 output_name( s, str, shorten_names );
773 }
return str
Definition CLI11.hpp:1359
void output_name(std::ostream &s, const string_view &str, bool shorten, size_t max_length=64)
Here is the call graph for this function:

◆ operator()() [6/8]

void sysio::chain::impl::generate_path_string_visitor::operator() ( const struct_type_path_root & item)
inline

Definition at line 794 of file abi_serializer.cpp.

794 {
795 const auto& str = item.struct_itr->first;
796 output_name( s, str, shorten_names );
797 }
Here is the call graph for this function:

◆ operator()() [7/8]

void sysio::chain::impl::generate_path_string_visitor::operator() ( const variant_path_item & item)
inline

Definition at line 775 of file abi_serializer.cpp.

775 {
776 if( track_only ) {
777 last_path_item = item;
778 return;
779 }
780
781 s << "<variant(" << item.variant_ordinal << ")=";
782 const auto& str = item.variant_itr->second.types.at(item.variant_ordinal);
783 output_name( s, str, shorten_names );
784 s << ">";
785 }
Here is the call graph for this function:

◆ operator()() [8/8]

void sysio::chain::impl::generate_path_string_visitor::operator() ( const variant_type_path_root & item)
inline

Definition at line 799 of file abi_serializer.cpp.

799 {
800 const auto& str = item.variant_itr->first;
801 output_name( s, str, shorten_names );
802 }
Here is the call graph for this function:

Member Data Documentation

◆ last_path_item

path_item sysio::chain::impl::generate_path_string_visitor::last_path_item

Definition at line 747 of file abi_serializer.cpp.

◆ s

std::stringstream sysio::chain::impl::generate_path_string_visitor::s

Definition at line 744 of file abi_serializer.cpp.

◆ shorten_names

bool sysio::chain::impl::generate_path_string_visitor::shorten_names = false

Definition at line 745 of file abi_serializer.cpp.

◆ track_only

bool sysio::chain::impl::generate_path_string_visitor::track_only = false

Definition at line 746 of file abi_serializer.cpp.


The documentation for this struct was generated from the following file: