Castor3D 0.16.0
Multiplatform 3D engine
Public Types | Public Member Functions | List of all members
castor::manip::BaseNumPut< CharType > Struct Template Reference

A custom number output facet. More...

#include <StreamBaseManipulators.hpp>

Inheritance diagram for castor::manip::BaseNumPut< CharType >:
Inheritance graph
[legend]
Collaboration diagram for castor::manip::BaseNumPut< CharType >:
Collaboration graph
[legend]

Public Types

using iter_type = typename std::num_put< CharType >::iter_type
 

Public Member Functions

unsigned short absVal (unsigned short a) const
 
unsigned int absVal (unsigned int a) const
 
unsigned long absVal (unsigned long a) const
 
unsigned long long absVal (unsigned long long a) const
 
template<class NumType >
NumType absVal (NumType a) const
 
template<class NumType >
iter_type doPutHelper (iter_type out, std::ios_base &str, CharType fill, NumType val) const
 
iter_type do_put (iter_type out, std::ios_base &str, CharType fill, long val) const override
 
iter_type do_put (iter_type out, std::ios_base &str, CharType fill, unsigned long val) const override
 

Detailed Description

template<typename CharType>
struct castor::manip::BaseNumPut< CharType >

A custom number output facet.

Remarks
These are used by the std::locale code in streams.
The num_put facet handles the output of numberic values as characters in the stream.
Here we create one that knows about our custom manipulator.

Member Typedef Documentation

◆ iter_type

template<typename CharType >
using castor::manip::BaseNumPut< CharType >::iter_type = typename std::num_put< CharType >::iter_type

Member Function Documentation

◆ absVal() [1/5]

template<typename CharType >
template<class NumType >
NumType castor::manip::BaseNumPut< CharType >::absVal ( NumType a) const
inline

◆ absVal() [2/5]

template<typename CharType >
unsigned int castor::manip::BaseNumPut< CharType >::absVal ( unsigned int a) const
inline

◆ absVal() [3/5]

template<typename CharType >
unsigned long castor::manip::BaseNumPut< CharType >::absVal ( unsigned long a) const
inline

◆ absVal() [4/5]

template<typename CharType >
unsigned long long castor::manip::BaseNumPut< CharType >::absVal ( unsigned long long a) const
inline

◆ absVal() [5/5]

template<typename CharType >
unsigned short castor::manip::BaseNumPut< CharType >::absVal ( unsigned short a) const
inline

Referenced by castor::manip::BaseNumPut< CharType >::doPutHelper().

Here is the caller graph for this function:

◆ do_put() [1/2]

template<typename CharType >
iter_type castor::manip::BaseNumPut< CharType >::do_put ( iter_type out,
std::ios_base & str,
CharType fill,
long val ) const
inlineoverride

References castor::manip::BaseNumPut< CharType >::doPutHelper().

Here is the call graph for this function:

◆ do_put() [2/2]

template<typename CharType >
iter_type castor::manip::BaseNumPut< CharType >::do_put ( iter_type out,
std::ios_base & str,
CharType fill,
unsigned long val ) const
inlineoverride

References castor::manip::BaseNumPut< CharType >::doPutHelper().

Here is the call graph for this function:

◆ doPutHelper()

template<typename CharType >
template<class NumType >
iter_type castor::manip::BaseNumPut< CharType >::doPutHelper ( iter_type out,
std::ios_base & str,
CharType fill,
NumType val ) const
inline

References castor::manip::BaseNumPut< CharType >::absVal(), and castor::manip::base().

Referenced by castor::manip::BaseNumPut< CharType >::do_put(), and castor::manip::BaseNumPut< CharType >::do_put().

Here is the call graph for this function:
Here is the caller graph for this function:

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