libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t Class Reference

The ISIN code for an instrument. More...

#include <isin.hpp>

Classes

union  SEDOL_t
 When appropriate the last 7 characters may be the SEDOL. More...
 

Public Types

using Country_Code_t = exchanges::common::ctry_codes::alpha_2::country_t
 The ISO 3166 Country-Code, Alpha-2 format. More...
 
using NSIN_t = std::array< char, 9 >
 Must be printable characters. More...
 
using CUSIP_t = NSIN_t
 When appropriate this may be the CUSIP. More...
 
using block_t = std::array< char, sizeof(details_t)>
 

Public Member Functions

 BOOST_MPL_ASSERT_RELATION (sizeof(Country_Code_t),==, 2)
 
 BOOST_MPL_ASSERT_RELATION (sizeof(CUSIP_t),==, 9)
 
 BOOST_MPL_ASSERT_RELATION (sizeof(SEDOL_t),==, 9)
 
 BOOST_MPL_ASSERT_RELATION (sizeof(block_t),==, 12)
 
constexpr ISIN_t () noexcept(true)
 
constexpr ISIN_t (block_t const &b) noexcept(true)
 
template<std::size_t Sz>
constexpr ISIN_t (block_t::value_type const (&b)[Sz]) noexcept(true)
 
constexpr ISIN_t (ISIN_t const &i) noexcept(true)
 
constexpr ISIN_toperator= (ISIN_t const &i) noexcept(true)
 
bool operator== (ISIN_t const &i) const noexcept(true)
 
bool operator< (ISIN_t const &i) const noexcept(true)
 
constexpr block_t const & data () const noexcept(true)
 
std::string to_string () const noexcept(false)
 
constexpr std::size_t hash () const noexcept(true)
 

Friends

std::ostream & operator<< (std::ostream &os, ISIN_t const &i) noexcept(false)
 
std::istream & operator>> (std::istream &is, ISIN_t &i) noexcept(false)
 

Detailed Description

The ISIN code for an instrument.

Definition at line 36 of file isin.hpp.

Member Typedef Documentation

◆ block_t

using isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::block_t = std::array<char, sizeof(details_t)>

Definition at line 69 of file isin.hpp.

◆ Country_Code_t

using isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::Country_Code_t = exchanges::common::ctry_codes::alpha_2::country_t

The ISO 3166 Country-Code, Alpha-2 format.

Definition at line 38 of file isin.hpp.

◆ CUSIP_t

When appropriate this may be the CUSIP.

Definition at line 41 of file isin.hpp.

◆ NSIN_t

Must be printable characters.

Definition at line 40 of file isin.hpp.

Constructor & Destructor Documentation

◆ ISIN_t() [1/4]

constexpr isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::ISIN_t ( )
inlineconstexprnoexcept

Definition at line 22 of file isin_impl.hpp.

References ISIN_t().

Referenced by ISIN_t().

◆ ISIN_t() [2/4]

constexpr isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::ISIN_t ( block_t const &  b)
inlineexplicitconstexprnoexcept

Definition at line 27 of file isin_impl.hpp.

◆ ISIN_t() [3/4]

template<std::size_t Sz>
constexpr isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::ISIN_t ( block_t::value_type const (&)  b[Sz])
inlineexplicitconstexprnoexcept

Definition at line 38 of file isin_impl.hpp.

◆ ISIN_t() [4/4]

constexpr isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::ISIN_t ( ISIN_t const &  i)
inlineconstexprnoexcept

Definition at line 32 of file isin_impl.hpp.

Member Function Documentation

◆ BOOST_MPL_ASSERT_RELATION() [1/4]

isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::BOOST_MPL_ASSERT_RELATION ( sizeof(block_t ,
12   
)

◆ BOOST_MPL_ASSERT_RELATION() [2/4]

isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::BOOST_MPL_ASSERT_RELATION ( sizeof(Country_Code_t ,
 
)

◆ BOOST_MPL_ASSERT_RELATION() [3/4]

isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::BOOST_MPL_ASSERT_RELATION ( sizeof(CUSIP_t ,
 
)

◆ BOOST_MPL_ASSERT_RELATION() [4/4]

isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::BOOST_MPL_ASSERT_RELATION ( sizeof(SEDOL_t ,
 
)

◆ data()

constexpr block_t const& isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::data ( ) const
inlineconstexprnoexcept

Definition at line 82 of file isin.hpp.

◆ hash()

constexpr std::size_t isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::hash ( ) const
inlineconstexprnoexcept

Definition at line 88 of file isin_impl.hpp.

◆ operator<()

bool isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::operator< ( ISIN_t const &  i) const
inlinenoexcept

Definition at line 54 of file isin_impl.hpp.

◆ operator=()

constexpr ISIN_t & isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::operator= ( ISIN_t const &  i)
inlineconstexprnoexcept

Definition at line 44 of file isin_impl.hpp.

◆ operator==()

bool isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::operator== ( ISIN_t const &  i) const
inlinenoexcept

Definition at line 50 of file isin_impl.hpp.

◆ to_string()

std::string isimud::ISIMUD_VER_NAMESPACE::exchanges::common::ISIN_t::to_string ( ) const
inlinenoexcept

Definition at line 83 of file isin_impl.hpp.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
ISIN_t const &  i 
)
friend

Definition at line 116 of file isin_impl.hpp.

◆ operator>>

std::istream& operator>> ( std::istream &  is,
ISIN_t i 
)
friend

Definition at line 123 of file isin_impl.hpp.


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