cpp-toolbox  0.0.1
A toolbox library for C++
Loading...
Searching...
No Matches
toolbox::utils::container_printer_t< Container > Class Template Referenceabstract

通用容器打印器基类/Generic container printer base class More...

#include <print.hpp>

Public Member Functions

 container_printer_t (const Container &c, std::string name, print_style_t style)
 构造函数/Constructor
 
container_printer_tenable_partial (bool enable)
 启用或禁用首尾打印/Enable or disable head-tail printing
 
container_printer_tset_head_tail_count (size_t head, size_t tail)
 设置头尾元素数量/Set head and tail element counts
 
container_printer_tset_partial_ellipsis (const std::string &ellipsis)
 设置省略符/Set ellipsis string for partial printing
 

Protected Member Functions

auto get_container () const -> const Container &
 获取容器引用/Get container reference
 
auto get_name () const -> const std::string &
 获取名称/Get name
 
auto get_style () const -> const print_style_t &
 获取打印风格/Get print style
 
virtual auto get_size () const -> size_t=0
 获取容器大小的虚函数/Virtual function to get container size
 
virtual void print_content (std::ostream &os) const =0
 打印容器内容的虚函数/Virtual function to print container content
 
auto partial_enabled () const -> bool
 
auto head_count () const -> size_t
 
auto tail_count () const -> size_t
 
auto ellipsis () const -> const std::string &
 
virtual ~container_printer_t ()=default
 析构函数/Destructor
 
 container_printer_t (const container_printer_t &)=delete
 
container_printer_toperator= (const container_printer_t &)=delete
 
 container_printer_t (container_printer_t &&)=delete
 
container_printer_toperator= (container_printer_t &&)=delete
 

Friends

template<typename C >
auto operator<< (std::ostream &os, const container_printer_t< C > &printer) -> std::ostream &
 

Detailed Description

template<typename Container>
class toolbox::utils::container_printer_t< Container >

通用容器打印器基类/Generic container printer base class

Template Parameters
Container容器类型/Container type

Constructor & Destructor Documentation

◆ container_printer_t() [1/3]

template<typename Container >
toolbox::utils::container_printer_t< Container >::container_printer_t ( const Container &  c,
std::string  name,
print_style_t  style 
)
inline

构造函数/Constructor

Parameters
c容器引用/Container reference
name容器名称/Container name
style打印风格/Print style

◆ ~container_printer_t()

template<typename Container >
virtual toolbox::utils::container_printer_t< Container >::~container_printer_t ( )
protectedvirtualdefault

析构函数/Destructor

◆ container_printer_t() [2/3]

template<typename Container >
toolbox::utils::container_printer_t< Container >::container_printer_t ( const container_printer_t< Container > &  )
protecteddelete

◆ container_printer_t() [3/3]

template<typename Container >
toolbox::utils::container_printer_t< Container >::container_printer_t ( container_printer_t< Container > &&  )
protecteddelete

Member Function Documentation

◆ ellipsis()

template<typename Container >
auto toolbox::utils::container_printer_t< Container >::ellipsis ( ) const -> const std::string&
inlineprotected

◆ enable_partial()

template<typename Container >
container_printer_t & toolbox::utils::container_printer_t< Container >::enable_partial ( bool  enable)
inline

启用或禁用首尾打印/Enable or disable head-tail printing

Parameters
enable是否启用/Enable flag
Returns
container_printer_t& 当前对象引用/Reference to this

◆ get_container()

template<typename Container >
auto toolbox::utils::container_printer_t< Container >::get_container ( ) const -> const Container&
inlineprotected

获取容器引用/Get container reference

Returns
const Container& 容器引用/Container reference

◆ get_name()

template<typename Container >
auto toolbox::utils::container_printer_t< Container >::get_name ( ) const -> const std::string&
inlineprotected

获取名称/Get name

Returns
const std::string& 名称/Name

◆ get_size()

◆ get_style()

template<typename Container >
auto toolbox::utils::container_printer_t< Container >::get_style ( ) const -> const print_style_t&
inlineprotected

获取打印风格/Get print style

Returns
const print_style_t& 打印风格/Print style

◆ head_count()

template<typename Container >
auto toolbox::utils::container_printer_t< Container >::head_count ( ) const -> size_t
inlineprotected

◆ operator=() [1/2]

template<typename Container >
container_printer_t & toolbox::utils::container_printer_t< Container >::operator= ( const container_printer_t< Container > &  )
protecteddelete

◆ operator=() [2/2]

template<typename Container >
container_printer_t & toolbox::utils::container_printer_t< Container >::operator= ( container_printer_t< Container > &&  )
protecteddelete

◆ partial_enabled()

template<typename Container >
auto toolbox::utils::container_printer_t< Container >::partial_enabled ( ) const -> bool
inlineprotected

◆ print_content()

template<typename Container >
virtual void toolbox::utils::container_printer_t< Container >::print_content ( std::ostream &  os) const
protectedpure virtual

◆ set_head_tail_count()

template<typename Container >
container_printer_t & toolbox::utils::container_printer_t< Container >::set_head_tail_count ( size_t  head,
size_t  tail 
)
inline

设置头尾元素数量/Set head and tail element counts

◆ set_partial_ellipsis()

template<typename Container >
container_printer_t & toolbox::utils::container_printer_t< Container >::set_partial_ellipsis ( const std::string &  ellipsis)
inline

设置省略符/Set ellipsis string for partial printing

◆ tail_count()

template<typename Container >
auto toolbox::utils::container_printer_t< Container >::tail_count ( ) const -> size_t
inlineprotected

Friends And Related Symbol Documentation

◆ operator<<

template<typename Container >
template<typename C >
auto operator<< ( std::ostream &  os,
const container_printer_t< C > &  printer 
) -> std::ostream &
friend

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