systomath · contents 1 contents 1 systomath c++ libraries implementation main page 1 2 systomath...

658
SysToMath C++ Libraries Implementation Reference Manual Version 1.10-r347 Generated by Doxygen 1.5.4-20071203 Thu Jan 3 20:17:00 2008

Upload: others

Post on 09-Jul-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

SysToMath C++ Libraries Implementation Reference ManualVersion 1.10-r347

Generated by Doxygen 1.5.4-20071203

Thu Jan 3 20:17:00 2008

Page 2: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

CONTENTS 1

Contents

1 SysToMath C++ Libraries Implementation Main Page 1

2 SysToMath C++ Libraries Implementation Module Index 2

3 SysToMath C++ Libraries Implementation Directory Hierarchy 3

4 SysToMath C++ Libraries Implementation Namespace Index 3

5 SysToMath C++ Libraries Implementation Class Index 4

6 SysToMath C++ Libraries Implementation Class Index 10

7 SysToMath C++ Libraries Implementation File Index 16

8 SysToMath C++ Libraries Implementation Page Index 18

9 SysToMath C++ Libraries Implementation Module Documentation 18

10 SysToMath C++ Libraries Implementation Directory Documentation 99

11 SysToMath C++ Libraries Implementation Namespace Documentation 105

12 SysToMath C++ Libraries Implementation Class Documentation 120

13 SysToMath C++ Libraries Implementation File Documentation 493

14 SysToMath C++ Libraries Implementation Example Documentation 569

15 SysToMath C++ Libraries Implementation Page Documentation 614

1 SysToMath C++ Libraries Implementation Main Page

1.1 Introduction

This documentation describes the C++ libraries contained in the SysToMath C++ Libraries package:

• SysToMath Aids C++ Library

• SysToMath Tool Aids C++ Library

They depend on the

• SysToMath Base C Library

belonging to the SysToMath C Libraries package.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 3: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

1.2 Supported Tool Families 2

1.2 Supported Tool Families

The C++ libraries contained in the SysToMath C++ Libraries package are designed to support the toolfamilies:

• Microsoft Visual Studio Tool Family

• GNU Tool Family

2 SysToMath C++ Libraries Implementation Module Index

2.1 SysToMath C++ Libraries Implementation Modules

Here is a list of all modules:

SysToMath Aids C++ Library 18

DebugAids: Debugging Support Facilities 19

DebugAids Implementation 46

DivAids: Diverse Aids 23

DivAids Implementation 48

DivAids Test 87

FilesysAids: File System Aids 39

FilesysAids Implementation 56

FilesysAids Test 88

GenCRC: Generic CRC Generation 44

GenCRC Implementation 58

GenCRC Test 90

LoggerAids: Formatted Logging Aids 61

LoggerAids Implementation 58

SmartptrAids: Smart Pointer Aids 72

SmartptrAids Implementation 59

SmartptrAids Test 91

SysToMath Aids C++ Library Test 96

SysToMath Tool Aids C++ Library 86

BinMsg: Abstract Binary Message Model 76

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 4: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

3 SysToMath C++ Libraries Implementation Directory Hierarchy 3

BinMsg Implementation 79

CtAids: ClearCase cleartool Aids 77

CtAids Implementation 79

DspMsg: DSP Message Model 78

DspMsg Implementation 80

LvdsPacket: LVDS Packet Model 84

LvdsPacket Implementation 81

McBspMsg: McBSP Message Model 84

McBspMsg Implementation 82

MsgTimestamp: Message Timestamp Model 85

MsgTimestamp Implementation 82

PrintkBinMsg: PrintkBin Message Model 85

PrintkBinMsg Implementation 83

3 SysToMath C++ Libraries Implementation Directory Hierarchy

3.1 SysToMath C++ Libraries Implementation Directories

This directory hierarchy is sorted roughly, but not completely, alphabetically:

stmaids 102

stm 101

impl 100

test 103

stmtoolaids 102

stm 101

toolaids 104

impl 99

4 SysToMath C++ Libraries Implementation Namespace Index

4.1 SysToMath C++ Libraries Implementation Namespace List

Here is a list of all namespaces with brief descriptions:

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 5: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

5 SysToMath C++ Libraries Implementation Class Index 4

stm (Namespace for the SysToMath C++ Libraries ) 105

stm::buffer (Namespace containing all buffer related utilities ) 112

stm::local (Implementation namespace for the SysToMath C++ Libraries ) 114

stm::rectrl (Namespace for regular expression matching issues ) 115

stm::smartptr (Namespace for all smart pointer aids class templates ) 116

stm::smartptr::local (Implementation namespace for the SysToMath Aids C++ Library mod-ule SmartptrAids ) 117

stm::tools (Namespace for the SysToMath Tool Aids C++ Library modules ) 118

stm::tools::local (Implementation namespace for the SysToMath Toll Aids C++ Library mod-ules ) 119

5 SysToMath C++ Libraries Implementation Class Index

5.1 SysToMath C++ Libraries Implementation Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:

stm::local::basic_xlogger< StringT, lockingPolicy > 136

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy > 130

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt 143

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::Fmt 133

stm::local::basic_xlogger< StringT, lockingPolicy >::locker 144

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::locker 134

stm::local::basic_xlogger< StringT, lockingPolicy >::no_lock 145

stm::local::basic_xlogger< StringT, lockingPolicy >::Stream 146

stm::local::basic_xlogger< std::string, lockingPolicy > 136

stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy > 130

stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy > 296

stm::local::basic_xlogger< std::wstring, lockingPolicy > 136

stm::basic_logger< std::wstring, stdIndent, lineLength, lockingPolicy > 130

stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy > 398

stm::smartptr::bijective< T, Compare, Allocator, Policy > 148

stm::local::BraceExpand 159

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 6: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

5.1 SysToMath C++ Libraries Implementation Class Hierarchy 5

stm::local::BraceExpand::Data 160

stm::local::BraceExpand::Data::Tail 162

stm::byte_iterator_range 163

stm::tools::BaseMessage< ContextT > 120

stm::tools::McBspMessage< ContextT > 321

stm::tools::PrintkBinMessage< ContextT > 351

stm::tools::BinMessage< ContextT > 149

stm::smartptr::local::comp_id< T, Compare > 164

stm::smartptr::local::comp_value< T, Compare > 165

stm::smartptr::local::comp_value_id< T, Compare > 166

stm::tools::Ct::Mode 179

stm::smartptr::local::decrefcount< T, Compare, refcounted, multirange > 187

stm::local::errmsg 194

stm::fmtflags 214

stm::hexfmt< UnsignedT, DefaultFlags > 215

stm::hexfmt< ElemT ∗, DefaultFlags > 219

stm::has_pow2size< T > 214

stm::smartptr::local::increfcount< T, Compare, refcounted, multirange > 222

stm::smartptr::injective< T, Compare, Allocator, Policy > 223

stm::smartptr::injective_set< T, Compare, Allocator, Policy > 236

stm::smartptr::local::item_descr< T, Compare, false, false > 288

stm::smartptr::local::item_descr< T, Compare, false, true > 290

stm::smartptr::local::item_descr< T, Compare, true, false > 292

stm::smartptr::local::item_descr< T, Compare, true, true > 293

stm::smartptr::local::item_type< T, Compare > 295

stm::logger_base 298

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy > 130

stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy > 130

stm::basic_logger< std::wstring, stdIndent, lineLength, lockingPolicy > 130

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 7: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

5.1 SysToMath C++ Libraries Implementation Class Hierarchy 6

stm::tools::LvdsPacket< ContextT >::Aich 306

stm::tools::LvdsPacket< ContextT >::DataType 307

stm::tools::LvdsPacket< ContextT >::Priority 308

stm::smartptr::MakeMultirange< Policy > 309

stm::smartptr::MakeSurjective< Policy > 309

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange > 310

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::rangeid_type 315

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Pol-icy::multirange::value > 310

stm::smartptr::injective_ptr< T, Compare, Allocator, Policy > 224

stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessor 242

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false > 316

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::rangeid_-type 320

stm::smartptr::local::mapped_ptr< T, Compare, Allocator,stm::smartptr::MakeMultirange< Policy >::surjective::value,stm::smartptr::MakeMultirange< Policy >::multirange::value > 310

stm::smartptr::injective_ptr< T, Compare, Allocator, stm::smartptr::MakeMultirange<Policy > > 224

Node 328

stm::nospace< CharT > 331

Operation 332

Operation::Archive 334

Operation::Mode 335

Operation::Type 335

stm::path< NameT > 336

stm::smartptr::local::pcomp< T, Compare > 348

stm::smartptr::local::pointee_type< T > 348

stm::smartptr::policy< Flags > 350

stm::pstring 353

stm::numpstring 331

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 8: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

5.1 SysToMath C++ Libraries Implementation Class Hierarchy 7

stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange > 359

stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::range_iterator 364

stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false > 365

stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::range_-iterator 368

Slot 372

stm::space< CharT > 373

basic_ostringstream 374

stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy > 130

stm::basic_logger< std::wstring, stdIndent, lineLength, lockingPolicy > 130

map 374

stm::local::xinputrange< std::set< InputFileT >, bufSize > 443

stm::inputrange< std::set< InputFileT >, bufSize > 244

stm::inputseq< InputFileT, bufSize > 257

Sudoku 375

Sudoku::State 380

TestPtr< Policy > 390

TestSet< Policy > 394

stm::tools::local::xArgList 399

stm::tools::Ct::ArgList 177

stm::tools::local::xBaseMessage< ContextT > 401

stm::tools::BaseMessage< ContextT > 120

stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT > 404

stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT > 126

stm::tools::BinMessageContext< DataT, InputRangeT, ContextT > 154

stm::tools::local::xBinMessage< ContextT > 406

stm::tools::BinMessage< ContextT > 149

stm::tools::local::xBinMessageContext< ContextT > 408

stm::tools::BinMessageContext< DataT, InputRangeT, ContextT > 154

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 9: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

5.1 SysToMath C++ Libraries Implementation Class Hierarchy 8

stm::tools::local::xBinMessageGap 412

stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap 157

stm::local::xcondition 413

stm::condition 166

stm::local::xcrc< RemPolT > 414

stm::crc< RemPolT > 169

stm::tools::local::xCt 417

stm::tools::Ct 174

stm::tools::local::xCtOperation 419

stm::tools::CtOperation 183

stm::tools::local::xCtOperation::LabelList 421

stm::local::xdirdata< DataT, EnvT > 422

stm::path< NameT >::dirdata< DataT, EnvT > 342

stm::tools::local::xDspMessage< ContextT > 424

stm::tools::DspMessage< ContextT > 187

stm::local::xfilefind< PathContainerT > 426

stm::filefind< PathContainerT > 195

stm::local::xfilespec 428

stm::filespec 199

stm::local::xfilespec::Env 437

stm::local::xfilespec::Rollback 438

stm::local::xfilespeclist 439

stm::filespeclist 207

stm::tools::CtExceptions 180

stm::local::xfixedfmt< FloatT > 440

stm::fixedfmt< FloatT > 211

stm::local::xhexfmt< UnsignedT > 442

stm::hexfmt< UnsignedT, DefaultFlags > 215

stm::local::xhexfmt< ElemT ∗ > 442

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 10: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

5.1 SysToMath C++ Libraries Implementation Class Hierarchy 9

stm::hexfmt< ElemT ∗, DefaultFlags > 219

stm::local::xinputrange< FileRangeT, bufSize > 443

stm::inputrange< FileRangeT, bufSize > 244

stm::local::xinputrange_iterator< BufRangeT, ContextT > 449

stm::inputrange_iterator< BufRangeT, ContextT > 252

stm::local::xIntegral_range< IntegralT, minVal, maxVal > 453

stm::integral_range< IntegralT, minVal, maxVal > 258

stm::local::xIntegral_set< IntegralRangeT, RangeSetT > 457

stm::integral_set< IntegralRangeT, RangeSetT > 268

stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::Env 461

stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator 462

stm::tools::local::xLvdsPacket< ContextT > 463

stm::tools::LvdsPacket< ContextT > 299

stm::tools::local::xMcBspMessage< ContextT > 468

stm::tools::McBspMessage< ContextT > 321

stm::tools::local::xMcBspMessage< ContextT >::Identification 469

stm::tools::local::xMsgTimestamp 474

stm::tools::MsgTimestamp 324

stm::tools::local::xPrintkBinMessage< ContextT > 477

stm::tools::PrintkBinMessage< ContextT > 351

stm::tools::local::xPrintkBinMessage< ContextT >::Identification 478

stm::local::xreadablefile 483

stm::readablefile< NameT > 355

stm::local::xrecursionenv 484

stm::path< NameT >::recursionenv 346

stm::local::xscoped_lock 486

stm::scoped_lock 370

stm::local::xsystem_condition 487

stm::system_condition 386

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 11: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

6 SysToMath C++ Libraries Implementation Class Index 10

stm::local::xsystem_scoped_lock 488

stm::system_scoped_lock 389

stm::tools::local::xTraceHeader 489

stm::tools::DspMessage< ContextT >::TraceHeader 191

Xyz 492

6 SysToMath C++ Libraries Implementation Class Index

6.1 SysToMath C++ Libraries Implementation Class List

Here are the classes, structs, unions and interfaces with brief descriptions:

stm::tools::BaseMessage< ContextT > (Abstract base class of message types for scanningfrom its byte_iterator_range base class object ) 120

stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT > (Base message contexttype which shall be a direct or indirect public base class of its template parameter Con-textT ) 126

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy > (Class template to man-age formatted logging on an output stream (normally a log file) and optionally on a secondstream (normally a console) and on the system log (see stm::syslog()) ) 130

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::Fmt (Format informa-tion for output streams ) 133

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::locker (Scoped lockingfor output streams ) 134

stm::local::basic_xlogger< StringT, lockingPolicy > (Stm::basic_logger implementation baseclass template ) 136

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt 143

stm::local::basic_xlogger< StringT, lockingPolicy >::locker 144

stm::local::basic_xlogger< StringT, lockingPolicy >::no_lock (Dummy type for no locking ) 145

stm::local::basic_xlogger< StringT, lockingPolicy >::Stream 146

stm::smartptr::bijective< T, Compare, Allocator, Policy > (The traits class template bijectivecombines the class template injective_ptr and its associated class template injective_sethaving the surjective policy property ) 148

stm::tools::BinMessage< ContextT > (Binary message scanning from a stm::byte_iterator_-range ) 149

stm::tools::BinMessageContext< DataT, InputRangeT, ContextT > (Binary message contexttype ) 154

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 12: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

6.1 SysToMath C++ Libraries Implementation Class List 11

stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap (Characterizationof the gap, i.e ) 157

stm::local::BraceExpand (Brace expansion implementation class ) 159

stm::local::BraceExpand::Data 160

stm::local::BraceExpand::Data::Tail 162

stm::byte_iterator_range (Byte iterator range class ) 163

stm::smartptr::local::comp_id< T, Compare > 164

stm::smartptr::local::comp_value< T, Compare > 165

stm::smartptr::local::comp_value_id< T, Compare > 166

stm::condition (Condition class ) 166

stm::crc< RemPolT > (Class template crc provides a means to generate cyclic redundancycheck (CRC) remainder polynomials of type RemPolT over buffers of byte-like objects ) 169

stm::tools::Ct (Main ClearCase cleartool aids class ) 174

stm::tools::Ct::ArgList (Class to hold multiple arguments for a command ) 177

stm::tools::Ct::Mode (Ct action modes ) 179

stm::tools::CtExceptions (ClearCase cleartool exceptions class ) 180

stm::tools::CtOperation (ClearCase cleartool operation class ) 183

stm::smartptr::local::decrefcount< T, Compare, refcounted, multirange > 187

stm::tools::DspMessage< ContextT > (DSP message contained in a binary message ) 187

stm::tools::DspMessage< ContextT >::TraceHeader (Type representing a trace header ) 191

stm::local::errmsg (Implementation class for macro StmDebugAidsErrmsg ) 194

stm::filefind< PathContainerT > (Container class representing existing file system elementsdefined by a file spec using pattern matching based file name expansion ) 195

stm::filespec (Class to specify file system element names ) 199

stm::filespeclist (List class of filespec objects ) 207

stm::fixedfmt< FloatT > (Class template allowing to format the floating point number of typeFloatT held on an output stream in fixed point notation using a specified precision ) 211

stm::fmtflags (Base class of class template stm::hexfmt specifying format flags ) 214

stm::has_pow2size< T > 214

stm::hexfmt< UnsignedT, DefaultFlags > (Class template allowing to format the unsignednumber held as hexadecimal string ) 215

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 13: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

6.1 SysToMath C++ Libraries Implementation Class List 12

stm::hexfmt< ElemT ∗, DefaultFlags > (Class template partial specialization allowing to for-mat the pointer held as hexadecimal string ) 219

stm::smartptr::local::increfcount< T, Compare, refcounted, multirange > 222

stm::smartptr::injective< T, Compare, Allocator, Policy > (The traits class template injectivecombines the class template injective_ptr and its associated class template injective_sethaving either the surjective or the not surjective policy property ) 223

stm::smartptr::injective_ptr< T, Compare, Allocator, Policy > (The class template injective_-ptr is a smart pointer pointing to unique constant objects of element type T stored using astatic repository ) 224

stm::smartptr::injective_set< T, Compare, Allocator, Policy > (The class template injective_-set is a container of unique constant objects of value type T stored wrapping a specificrange of the static repository of an injective_ptr<T, Compare, Allocator, Policy> object ) 236

stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessor (Subclass ofinjective_ptr<T, Compare, Allocator, MakeMultirange<Policy> > representing an ele-ment of this injective_set object ) 242

stm::inputrange< FileRangeT, bufSize > (Class template representing a range of input files )244

stm::inputrange_iterator< BufRangeT, ContextT > (Input iterator class template readingsuccessive byte ranges from the input range of the ContextT object for which it was con-structed ) 252

stm::inputseq< InputFileT, bufSize > 257

stm::integral_range< IntegralT, minVal, maxVal > (Class template representing a range ofintegral objects of type IntegralT constrained by the minimal and maximal values minValand maxVal ) 258

stm::integral_set< IntegralRangeT, RangeSetT > (Class template integral_set is a set con-tainer representing a set of integral type objects constrained by minimal and maximalvalues wrapping a set of integral ranges ) 268

stm::smartptr::local::item_descr< T, Compare, false, false > 288

stm::smartptr::local::item_descr< T, Compare, false, true > 290

stm::smartptr::local::item_descr< T, Compare, true, false > 292

stm::smartptr::local::item_descr< T, Compare, true, true > 293

stm::smartptr::local::item_type< T, Compare > 295

stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy > (Class template to man-age formatted logging on a std::string based output stream (normally a log file) and op-tionally on a second std::string based stream (normally a console, by default std::cout, iftemplate parameter errorConsole is false (the default), or else std::cerr) ) 296

stm::logger_base (Common base class of all basic_logger class template specializations ) 298

stm::tools::LvdsPacket< ContextT > (LVDS packet contained in a binary message ) 299

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 14: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

6.1 SysToMath C++ Libraries Implementation Class List 13

stm::tools::LvdsPacket< ContextT >::Aich (LVDS packet Aich values ) 306

stm::tools::LvdsPacket< ContextT >::DataType (LVDS packet data type values ) 307

stm::tools::LvdsPacket< ContextT >::Priority (LVDS packet priority values ) 308

stm::smartptr::MakeMultirange< Policy > (Class template serving as wrapper of templateparameter Policy to ensure the multirange policy property ) 309

stm::smartptr::MakeSurjective< Policy > (Class template serving as wrapper of templateparameter Policy to ensure the surjective policy property ) 309

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >(Stm::smartptr::injective_ptr implementation base class template ) 310

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::rangeid_type 315

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false > 316

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::rangeid_-type 320

stm::tools::McBspMessage< ContextT > (McBSP message scanning from a BaseMessage’sbyte_iterator_range ) 321

stm::tools::MsgTimestamp (Message timestamp type ) 324

Node 328

stm::nospace< CharT > (Unary predicate functor template determining if a CharT object isno white space as defined by the current locale ) 331

stm::numpstring (Class to represent a file system name with a case unsensitive order relationon Windows systems else with a case case sensitive order relation collating numericallycorrect ) 331

Operation 332

Operation::Archive 334

Operation::Mode 335

Operation::Type 335

stm::path< NameT > (Class template path refining boost::filesystem::path ) 336

stm::path< NameT >::dirdata< DataT, EnvT > (Abstract base class template of directorydata created for each directory the recusion handles ) 342

stm::path< NameT >::recursionenv (Type of or public base class of the global recursion en-vironment used by the methods recurse() and traverse() ) 346

stm::smartptr::local::pcomp< T, Compare > 348

stm::smartptr::local::pointee_type< T > 348

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 15: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

6.1 SysToMath C++ Libraries Implementation Class List 14

stm::smartptr::policy< Flags > (Class template serving as Policy template parameter forclass templates injective_ptr and injective_set ) 350

stm::tools::PrintkBinMessage< ContextT > (PrintkBin message scanning from a theBaseMessage’s byte_iterator_range ) 351

stm::pstring (Class to represent a std::string with a case unsensitive order relation on Win-dows systems else with a case sensitive order relation used for file system element naming) 353

stm::readablefile< NameT > (Class template representing a file named by its NameT sub-object which is guaranteed to be accessible for reading and holding its size at the time ofdefinition ) 355

stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange > 359

stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::range_iterator 364

stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false > 365

stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::range_-iterator 368

stm::scoped_lock (Scoped lock class ) 370

Slot 372

stm::space< CharT > (Unary predicate functor template determining if a CharT object is awhite space as defined by the current locale ) 373

basic_ostringstream 374

map 374

Sudoku (Sudoku model ) 375

Sudoku::State (Sudoku state ) 380

stm::system_condition (System condition class ) 386

stm::system_scoped_lock (System scoped lock class ) 389

TestPtr< Policy > 390

TestSet< Policy > 394

stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy > (Class template to man-age formatted logging on a std::wstring based output stream (normally a log file) and op-tionally on a second std::wstring based stream (normally a console, by default std::wcout,if template parameter errorConsole is false (the default), or else std::wcerr) ) 398

stm::tools::local::xArgList (Stm::tools::Ct::ArgList implementation base class ) 399

stm::tools::local::xBaseMessage< ContextT > (Stm::tools::BaseMessage implementationbase class template ) 401

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 16: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

6.1 SysToMath C++ Libraries Implementation Class List 15

stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >(Stm::tools::BaseMessageContext implementation base class template ) 404

stm::tools::local::xBinMessage< ContextT > (Stm::tools::BinMessage implementation baseclass template ) 406

stm::tools::local::xBinMessageContext< ContextT > (Stm::tools::BinMessageContext im-plementation base class template ) 408

stm::tools::local::xBinMessageGap (Stm::tools::BinMessageContext::Gap implementationbase class ) 412

stm::local::xcondition (Stm::condition implementation base class ) 413

stm::local::xcrc< RemPolT > (Stm::crc implementation base class template ) 414

stm::tools::local::xCt (Stm::tools::Ct implementation base class ) 417

stm::tools::local::xCtOperation (Stm::tools::CtOperation implementation base class ) 419

stm::tools::local::xCtOperation::LabelList 421

stm::local::xdirdata< DataT, EnvT > (Stm::path::dirdata implementation base class tem-plate ) 422

stm::tools::local::xDspMessage< ContextT > (Stm::tools::DspMessage implementation baseclass template ) 424

stm::local::xfilefind< PathContainerT > (Stm::filefind implementation base class template ) 426

stm::local::xfilespec (Stm::filespec implementation base class ) 428

stm::local::xfilespec::Env (Environment for regular expression creation ) 437

stm::local::xfilespec::Rollback (Rollback data for regular expression creation ) 438

stm::local::xfilespeclist (Stm::filespeclist implementation base class ) 439

stm::local::xfixedfmt< FloatT > (Stm::fixedfmt implementation base class template ) 440

stm::local::xhexfmt< UnsignedT > (Stm::hexfmt implementation base class template ) 442

stm::local::xinputrange< FileRangeT, bufSize > (Stm::inputrange implementation base classtemplate ) 443

stm::local::xinputrange_iterator< BufRangeT, ContextT > (Stm::inputrange_iterator im-plementation base class template ) 449

stm::local::xIntegral_range< IntegralT, minVal, maxVal > (Stm::integral_range implemen-tation base class template ) 453

stm::local::xIntegral_set< IntegralRangeT, RangeSetT > (Stm::integral_set implementationbase class template ) 457

stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::Env 461

stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator 462

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 17: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

7 SysToMath C++ Libraries Implementation File Index 16

stm::tools::local::xLvdsPacket< ContextT > (Stm::tools::LvdsPacket implementation baseclass template ) 463

stm::tools::local::xMcBspMessage< ContextT > (Stm::tools::McBspMessage implementa-tion base class template ) 468

stm::tools::local::xMcBspMessage< ContextT >::Identification (Type managing the identifi-cation of a McBSP message in a byte stream ) 469

stm::tools::local::xMsgTimestamp (Stm::tools::MsgTimestamp implementation base class ) 474

stm::tools::local::xPrintkBinMessage< ContextT > 477

stm::tools::local::xPrintkBinMessage< ContextT >::Identification 478

stm::local::xreadablefile (Stm::readablefile implementation base class ) 483

stm::local::xrecursionenv (Stm::path::recursionenv implementation base class ) 484

stm::local::xscoped_lock (Stm::scoped_lock implementation base class ) 486

stm::local::xsystem_condition (Stm::system_condition implementation base class ) 487

stm::local::xsystem_scoped_lock (Stm::system_scoped_lock implementation base class ) 488

stm::tools::local::xTraceHeader (Stm::tools::DspMessage::TraceHeader implementationbase class ) 489

Xyz 492

7 SysToMath C++ Libraries Implementation File Index

7.1 SysToMath C++ Libraries Implementation File List

Here is a list of all files with brief descriptions:

aids.hpp (Central include file for SysToMath Aids C++ library ) 493

aidsconfig.hpp (Management of library generation and of automatic library choice for theSysToMath Aids C++ library stmaids ) 494

binmsg.hpp (Declarations for the abstract binary message model ) 495

ctaids.cpp (Implementation of ClearCase cleartool utilities ) 497

ctaids.hpp (Declarations for ClearCase cleartool aids ) 498

debugaids.cpp (Implementation of the debugging support facilities ) 499

debugaids.hpp (Definition of debugging support macros and functions ) 500

debugxaids.hpp (Implementation of the debugging support facilities ) 503

divaids.cpp (Implementation of general utilities ) 505

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 18: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

7.1 SysToMath C++ Libraries Implementation File List 17

divaids.hpp (Declarations for diverse aids ) 506

divaidstest.cpp (Implementation of a console program demostrating the usage and testing theimplementation of the SysToMath Aids C++ Library module DivAids ) 513

divxaids.hpp (Implementation of diverse aids ) 514

dspmsg.cpp (Implementation of the DSP message model ) 521

dspmsg.hpp (Declarations for the DSP message model ) 522

filesysaids.cpp (Implementation of file system related utilities ) 523

filesysaids.hpp (Declarations for file system aids ) 524

filesystest.cpp (Implementation of a console program demostrating the usage and testing theimplementation of the SysToMath Aids C++ Library module FilesysAids ) 527

filesysxaids.hpp (Implementation of file system aids ) 528

gencrc.hpp (Declarations of generic CRC remainder polynomial generation ) 532

gencrctest.cpp (Implementation of a console program demostrating the usage and testing thefunctionality of the class template stm::crc which provides a generic CRC generator ) 534

genxcrc.hpp (Implementation of generic CRC remainder polynomial generation ) 535

loggeraids.hpp (Declarations of formatted logging aids ) 536

loggerxaids.hpp (Implementation of formatted logging aids ) 538

lvdspacket.hpp (Declarations for the LVDS packet model ) 540

mcbspmsg.hpp (Declarations for the McBSP message model ) 541

msgtimestamp.hpp (Declarations for the message timestamp model ) 542

printkbinmsg.hpp (Declarations for the PrintkBin message model ) 544

smartptraids.hpp (Declarations of smart pointer aids ) 545

smartptrtest.cpp (Implementation of a console program demostrating the usage and testingthe implementation of the SysToMath Aids C++ Library module SmartptrAids ) 548

smartptrxaids.hpp (Implementation of smart pointer aids ) 549

sudoku.cpp (Implementation of a console program demostrating the usage and testing theimplementation of the SysToMath Aids C++ Library stmaids ) 553

toolaids.hpp (Central include file for SysToMath Tool Aids C++ library ) 554

toolaidsconfig.hpp (Management of library generation and of automatic library choice for theSysToMath Tool Aids C++ library stmaids ) 555

xbinmsg.hpp (Implementation of the abstract binary message model ) 557

xctaids.hpp (Implementation of ClearCase cleartool aids ) 559

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 19: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

8 SysToMath C++ Libraries Implementation Page Index 18

xdspmsg.hpp (Implementation of the DSP message model ) 560

xlvdspacket.hpp (Implementation of the LVDS packet model ) 562

xmcbspmsg.hpp (Implementation of the McBSP message model ) 564

xmsgtimestamp.hpp (Implementation of the message timestamp model ) 565

xprintkbinmsg.hpp (Implementation of the PrintkBin message model ) 567

8 SysToMath C++ Libraries Implementation Page Index

8.1 SysToMath C++ Libraries Implementation Related Pages

Here is a list of all related documentation pages:

Deprecated List 619

9 SysToMath C++ Libraries Implementation Module Documenta-tion

9.1 SysToMath Aids C++ Library

Collaboration diagram for SysToMath Aids C++ Library:

GenCRC: Generic CRC Generation

SysToMath Aids C++ Library Test

SmartptrAids: Smart Pointer Aids

LoggerAids: Formatted Logging Aids

DivAids: Diverse Aids

DebugAids: Debugging Support Facilities

FilesysAids: File System Aids

SysToMath Aids C++ Library

9.1.1 Detailed Description

SysToMath Aids C++ Library (stmaids).

The SysToMath Aids C++ Library consists of several library objects providing various macros, functions,function templates, classes and class templates facilitating some basic computational tasks.

Files

• file aids.hppCentral include file for SysToMath Aids C++ library.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 20: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.2 DebugAids: Debugging Support Facilities 19

• file aidsconfig.hppManagement of library generation and of automatic library choice for the SysToMath Aids C++ librarystmaids.

Modules

• DebugAids: Debugging Support FacilitiesCollection of some debugging support macros and functions.

• DivAids: Diverse AidsCollection types, functions, function tempates, classes and class templates providing endian handling, bufferhandling, byte iterator ranges, integral ranges, integral sets, condition variables, scoped locks and stringhandling support.

• FilesysAids: File System AidsCollection of some file system related classes and class templates for path handling, bash-like file nameglobbing, POSIX-conform file spec expansion, and file and file range input scanning.

• GenCRC: Generic CRC GenerationDeclaration of the class template stm::crc used to generate cyclic redundancy check (CRC) remainderpolynomials of template type RemPolT over buffers of byte-like objects.

• LoggerAids: Formatted Logging AidsDeclaration of class templates for formatted logging on an output stream and on the console.

• SmartptrAids: Smart Pointer AidsDeclaration of class templates for smart pointer aids.

• SysToMath Aids C++ Library TestDemonstration of the usage and tests of the implementation of the SysToMath Aids C++ Library stmaids.

9.2 DebugAids: Debugging Support Facilities

Collaboration diagram for DebugAids: Debugging Support Facilities:

DebugAids ImplementationDebugAids: Debugging Support FacilitiesSysToMath Aids C++ Library

9.2.1 Detailed Description

Collection of some debugging support macros and functions.

These facilities are used throughout the other SysToMath Aids C++ Library modules.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 21: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.2 DebugAids: Debugging Support Facilities 20

Files

• file debugaids.hppDefinition of debugging support macros and functions.

Modules

• DebugAids ImplementationImplementation of the debugging support facilities.

Defines

• #define StmDebugAidsErrmsg(msg) StmDebugAidsErrmsgImpl_ (msg)Return the error message msg as std::string.

• #define StmDebugAidsVerify(cond) StmDebugAidsVerifyImpl_ (cond)Verify that the boolean condition cond is true.

Enumerations

• enum stm::SyslogFlags {

stm::SyslogNoLog = 0x00000000,

stm::SyslogInfo = 0x00000001,

stm::LogInfo = 0x00000001,

stm::SyslogWarning = 0x00000002,

stm::LogWarning = 0x00000002,

stm::SyslogError = 0x00000003,

stm::LogError = 0x00000003,

stm::SyslogLevelMask = 0x00000003,

stm::LogLevelMask = 0x00000003,

stm::SyslogPerror = 0x00010000,

stm::LogPerror = 0x00010000,

stm::SyslogNoPerror = 0x00020000,

stm::LogNoPerror = 0x00020000 }Syslog flags.

Functions

• void stm::initSyslog (bool perror=false, const std::string &prog=std::string())Initialize syslog().

• void stm::syslog (const std::string &message, unsigned int flags=SyslogInfo)Output message to the system log according to flags.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 22: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.2 DebugAids: Debugging Support Facilities 21

9.2.2 Define Documentation

9.2.2.1 #define StmDebugAidsErrmsg(msg) StmDebugAidsErrmsgImpl_ (msg)

Return the error message msg as std::string.

If the macro NDEBUG in not defined, that error message is preceded by the filename and line number of theinvocation location. For conveniance inside msg std::ostringstream::operator<<() may be used.

Examples:

filesystest.cpp, and smartptrtest.cpp.

Definition at line 94 of file debugaids.hpp.

Referenced by main().

9.2.2.2 #define StmDebugAidsVerify(cond) StmDebugAidsVerifyImpl_ (cond)

Verify that the boolean condition cond is true.

If the macro NDEBUG is defined or cond is true, the macro does nothing.

Else if cond is false, a dialog box pops up prompting for the action to be done offering the choice ofignoring the situation or of throwing a std::logic_error exception with cond as text.

On Windows systems, moreover, there is a choice to enter the debugger.

Examples:

smartptrtest.cpp, and sudoku.cpp.

Definition at line 106 of file debugaids.hpp.

Referenced by stm::tools::CtExceptions::add(), stm::local::xIntegral_set< IntegralRangeT,RangeSetT >::adjust(), stm::local::xfilespec::appChar(), stm::local::xfilespec::appCirc(),stm::local::xfilespec::appDot(), stm::local::xfilespec::appDotSeq(), stm::local::xfilespec::append(),stm::local::xfilespec::bracketExpr(), stm::inputrange< FileRangeT, bufSize >::bufAdvance(),stm::local::xfilespec::charClassExpr(), stm::local::xfilespec::checkLeadingDot(),stm::local::xfilespec::collSymb(), stm::tools::local::xBinMessageContext< ContextT >::createMessage(),stm::smartptr::local::item_descr< T, Compare, true, false >::decrefcount(), stm::smartptr::local::item_-descr< T, Compare, true, true >::decrefcount(), Sudoku::State::define(), TestSet< Policy >::define(),stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >::defineRange(),stm::inputrange< FileRangeT, bufSize >::file(), stm::inputrange< FileRangeT, bufSize >::fileOffset(),stm::filespec::findUnescapedParentheses(), Sudoku::State::generate(), stm::smartptr::local::mapped_-ptr< T, Compare, Allocator, refcounted, false >::getrefcount(), stm::smartptr::local::mapped_ptr< T,Compare, Allocator, refcounted, multirange >::getrefcount(), stm::local::xfilefind< PathContainerT>::handlePath(), stm::local::xfilespec::iappend(), Sudoku::State::init(), stm::smartptr::local::mapped_ptr<T, Compare, Allocator, refcounted, multirange >::init(), stm::smartptr::injective_set< T, Compare,Allocator, Policy >::insert(), main(), stm::smartptr::local::mapped_ptr< T, Compare, Allocator,refcounted, false >::mapped_ptr(), stm::smartptr::local::mapped_ptr< T, Compare, Allocator, ref-counted, multirange >::mapped_ptr(), stm::tools::McBspMessage< ContextT >::McBspMessage(),Node::Node(), stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::operator++(),stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::operator–(), stm::integral_-set< IntegralRangeT, RangeSetT >::operator-=(), stm::smartptr::injective_set< T, Compare, Alloca-tor, Policy >::accessor::operator=(), stm::integral_set< IntegralRangeT, RangeSetT >::operator|=(),stm::tools::PrintkBinMessage< ContextT >::PrintkBinMessage(), Sudoku::State::randomVal(),stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >::range(),

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 23: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.2 DebugAids: Debugging Support Facilities 22

stm::inputrange< FileRangeT, bufSize >::read(), stm::smartptr::local::repository_type< T, Com-pare, Allocator, refcounted, false >::remove(), stm::smartptr::local::repository_type< T, Com-pare, Allocator, refcounted, multirange >::remove(), stm::local::xinputrange_iterator< BufRangeT,ContextT >::scan(), Sudoku::State::solve(), stm::local::xfilespec::starStarOp(), TestSet< Policy>::tell(), TestPtr< Policy >::tell(), testptr(), testset(), stm::local::BraceExpand::toExpand(), Su-doku::State::undefine(), stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted,multirange >::undefineRange(), stm::smartptr::local::repository_type< T, Compare, Allocator, re-fcounted, multirange >::updateRange(), stm::local::xIntegral_set< IntegralRangeT, RangeSetT>::verify(), Sudoku::write(), stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted,false >::∼mapped_ptr(), and stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted,multirange >::∼mapped_ptr().

9.2.3 Enumeration Type Documentation

9.2.3.1 enum stm::SyslogFlags

Syslog flags.

Enumerator:

SyslogNoLog No logging.

SyslogInfo Information log level.

LogInfo

Deprecated

Use stm::SyslogInfo instead.

SyslogWarning Warning log level.

LogWarning

Deprecated

Use stm::SyslogWarning instead.

SyslogError Error log level.

LogError

Deprecated

Use stm::SyslogError instead.

SyslogLevelMask Log level mask.

LogLevelMask

Deprecated

Use stm::SyslogLevelMask instead.

SyslogPerror If set, print to stderr as well.

LogPerror

Deprecated

Use stm::SyslogPerror instead.

SyslogNoPerror If set, do not print to stderr as well.

LogNoPerror

Deprecated

Use stm::SyslogNoPerror instead.

Definition at line 120 of file debugaids.hpp.

9.2.4 Function Documentation

9.2.4.1 void stm::initSyslog (bool perror = false, const std::string & prog = std::string ())

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 24: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 23

Initialize syslog().

If perror is set, subsequent calls to syslog() will output their messages also to stderr. A non-empty progserves as identifier of the logged messages.

Definition at line 106 of file debugaids.cpp.

References stm::local::syslogPerror, and stm::local::syslogProg.

9.2.4.2 void stm::syslog (const std::string & message, unsigned int flags = SyslogInfo)

Output message to the system log according to flags.

If flags contains the SyslogPerror flag or initSyslog() was called with perror set, message is also output onstderr.

Definition at line 158 of file debugaids.cpp.

References stm::SyslogError, stm::SyslogInfo, stm::SyslogLevelMask, stm::SyslogNoPerror,stm::local::syslogPerror, stm::SyslogPerror, stm::local::syslogProg, and stm::SyslogWarning.

Referenced by stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::operator()().

9.3 DivAids: Diverse Aids

Collaboration diagram for DivAids: Diverse Aids:

DivAids Test

DivAids: Diverse Aids

DivAids Implementation

SysToMath Aids C++ Library

9.3.1 Detailed Description

Collection types, functions, function tempates, classes and class templates providing endian handling,buffer handling, byte iterator ranges, integral ranges, integral sets, condition variables, scoped locks andstring handling support.

The declarations of these utilities are all contained in the namespace stm.

Files

• file divaids.hppDeclarations for diverse aids.

Namespaces

• namespace stmNamespace for the SysToMath C++ Libraries.

• namespace stm::bufferNamespace containing all buffer related utilities.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 25: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 24

• namespace stm::rectrlNamespace for regular expression matching issues.

Modules

• DivAids ImplementationImplementation of general utilities.

• DivAids TestDemonstration of the usage and tests of the implementation of the SysToMath Aids C++ Library moduleDivAids.

Classes

• class stm::byte_iterator_rangeByte iterator range class.

• class stm::integral_range< IntegralT, minVal, maxVal >

Class template representing a range of integral objects of type IntegralT constrained by the minimal andmaximal values minVal and maxVal.

• class stm::integral_set< IntegralRangeT, RangeSetT >

Class template integral_set is a set container representing a set of integral type objects constrained byminimal and maximal values wrapping a set of integral ranges.

• class stm::conditionCondition class.

• class stm::system_conditionSystem condition class.

• class stm::scoped_lockScoped lock class.

• class stm::system_scoped_lockSystem scoped lock class.

• struct stm::fmtflagsBase class of class template stm::hexfmt specifying format flags.

• class stm::hexfmt< UnsignedT, DefaultFlags >

Class template allowing to format the unsigned number held as hexadecimal string.

• class stm::hexfmt< ElemT ∗, DefaultFlags >

Class template partial specialization allowing to format the pointer held as hexadecimal string.

• class stm::fixedfmt< FloatT >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 26: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 25

Class template allowing to format the floating point number of type FloatT held on an output stream in fixedpoint notation using a specified precision.

• struct stm::space< CharT >

Unary predicate functor template determining if a CharT object is a white space as defined by the currentlocale.

• struct stm::nospace< CharT >

Unary predicate functor template determining if a CharT object is no white space as defined by the currentlocale.

Common unsigned and signed integer types

• typedef boost::uint8_t stm::byte• typedef boost::uint16_t stm::word• typedef boost::uint32_t stm::dword• typedef boost::uint64_t stm::qword• typedef boost::int8_t stm::int8• typedef boost::int16_t stm::int16• typedef boost::int32_t stm::int32• typedef boost::int64_t stm::int64• typedef boost::uint_t< sizeof(void ∗)∗CHAR_BIT >::leas stm::addrword )

Unsigned integer type capable of holding an address.

Endianness

• typedef boost::mpl::bool_< __BYTE_ORDER==__LITTLE_ENDIAN > stm::littleendianType being boost::mpl::true_ or boost::mpl::false_ depending on the host endianness.

• typedef boost::mpl::bool_< __BYTE_ORDER==__BIG_ENDIAN > stm::bigendianType being boost::mpl::true_ or boost::mpl::false_ depending on the host endianness.

• bool stm::hostlittleendian ()Returns true, if the host byte order is little-endian.

• bool stm::hostbigendian ()Returns true, if the host byte order is big-endian.

Predefined StmReCtrl Objects

The predefined StmReCtrl objects stm::rectrl::identity and stm::rectrl::tolower provide control and errorhandling for regular expressions (see Abstract Data Type StmRe).

• StmReCtrl stm::rectrl::identity = initialize ()• StmReCtrl stm::rectrl::tolower = NULL

Control and error handling of non-case-sensitive regular expressions.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 27: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 26

Defines

• #define StmRectrlTry(envbuf) StmRectrlTryImpl_ (envbuf)std::logic_error exception based error control for normal and non-case-sensitive regular expressions con-trolled by the predefined StmReCtrl Objects stm::rectrl::identity and stm::rectrl::tolower.

Functions

• template<typename T>

T & stm::buffer::get (byte ∗ptr)Returns a reference to the T object beginning at byte address ptr.

• template<typename T>

const T & stm::buffer::get (const byte ∗ptr)Returns a constant reference to the T object beginning at byte address ptr.

• template<typename T>

T & stm::buffer::fetch (T &obj, const byte ∗ptr)Creates obj T as being a copy of the T object beginning at byte address ptr and returns a reference to it.

• template<typename T>

T & stm::buffer::swap (T &obj, typename boost::enable_if< boost::is_pod< T >, const byte ∗>::type ptr)

Creates obj T as being a byte swapped copy of the T object beginning at byte address ptr and returns areference to it.

• template<typename T>

T & stm::buffer::endianConvertIf (T &obj, typename boost::enable_if< boost::is_pod< T >, constbyte ∗ >::type ptr, bool convert)

Creates obj T as being an endian converted or unconverted copy of the T object beginning at byte addressptr and returns a reference to it.

• template<typename T>

T & stm::buffer::endianConvertIf (T &obj, typename boost::enable_if< boost::is_pod< T >, constbyte ∗ >::type ptr, boost::mpl::false_)

Creates obj T as being an unconverted copy of the T object beginning at byte address ptr and returns areference to it.

• template<typename T>

T & stm::buffer::endianConvertIf (T &obj, typename boost::enable_if< boost::is_pod< T >, constbyte ∗ >::type ptr, boost::mpl::true_)

Creates obj T as being an endian converted copy of the T object beginning at byte address ptr and returns areference to it.

• template<typename T>

T & stm::buffer::networkByteOrderConvert (T &obj, typename boost::enable_if< boost::is_pod< T>, const byte ∗ >::type ptr)

Creates obj T as being an endian converted or unconverted copy of the T object beginning at byte addressptr and returns a reference to it.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 28: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 27

• template<typename T>

T stm::buffer::swapped (typename boost::enable_if< boost::is_pod< T >, T >::type value)Returns an object of type T being a byte swapped copy of the T object value.

• template<typename T>

T stm::buffer::endianConvertedIf (typename boost::enable_if< boost::is_pod< T >, T >::typevalue, bool convert)

Returns the endian converted or unconverted value of an object of type T.

• template<typename T>

T stm::buffer::endianConvertedIf (typename boost::enable_if< boost::is_pod< T >, T >::typevalue, boost::mpl::false_)

Returns the unconverted value of an object of type T.

• template<typename T>

T stm::buffer::endianConvertedIf (typename boost::enable_if< boost::is_pod< T >, T >::typevalue, boost::mpl::true_)

Returns the endian converted value of an object of type T.

• template<typename T>

T stm::buffer::networkByteOrderConverted (typename boost::enable_if< boost::is_pod< T >, T>::type value)

Returns the endian converted or unconverted value of an object of type T.

• template<typename T>

size_t stm::buffer::pad (typename boost::enable_if< has_pow2size< T >, size_t >::type offset)Returns the least number aligned to T not being less than offset.

• template<typename T>

byte ∗ stm::buffer::put (byte ∗ptr, const T &value)Stores a T object at byte address ptr and returns the byte address of the T object following that T object.

• template<class IStreamT, typename IntegralT, IntegralT minVal, IntegralT maxVal>IStreamT & stm::operator>> (IStreamT &is, integral_range< IntegralT, minVal, maxVal >&range)

Extract the integral range formatted as single integral number or as expression "first-last" with integralnumbers first < last enclosed in parentheses from the input stream is and store it in the integral range.

• template<class OStreamT, typename IntegralT, IntegralT minVal, IntegralT maxVal>OStreamT & stm::operator<< (OStreamT &os, const integral_range< IntegralT, minVal, maxVal >&range)

Insert the integral range held by range into the output stream os formatted as single decimal numbers orexpression "first-last" with decimal numbers first < last.

• template<class IStreamT, class IntegralRangeT, class RangeSetT>

IStreamT & stm::operator>> (IStreamT &is, integral_set< IntegralRangeT, RangeSetT > &set)Extract the integral ranges formatted as comma separated sequence of single integral numbers and/or ex-pressions "first-last" with integral numbers first < last enclosed in parentheses from the input stream is andstore them in the integral set.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 29: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 28

• template<class OStreamT, class IntegralRangeT, class RangeSetT>

OStreamT & stm::operator<< (OStreamT &os, const integral_set< IntegralRangeT, RangeSetT >&set)

Insert the integral ranges held by the integral set into the output stream os formatted as comma separatedsequence of single decimal numbers and/or expressions "first-last" with decimal numbers first < last.

• template<class OStreamT, typename UnsignedT, dword DefaultFlags>OStreamT & stm::operator<< (OStreamT &os, const hexfmt< UnsignedT, DefaultFlags > &val)

Insert the value held by val into the output stream os as hexadecimal string formatted according to the flagsin effect.

• template<class OStreamT, typename ElemT, dword DefaultFlags>OStreamT & stm::operator<< (OStreamT &os, const hexfmt< ElemT ∗, DefaultFlags > &ptr)

Insert the value held by ptr into the output stream os as hexadecimal string according to the flags in effect.

• template<class OStreamT, typename FloatT>

OStreamT & stm::operator<< (OStreamT &os, const fixedfmt< FloatT > &val)Insert the value held by val into the output stream os in fixed point notation using the precision specified byval.

• template<typename ScalarT>

dword stm::nrOfSetBits (ScalarT value)Function template returning the number of set bits of a ScalarT value.

• template<class StringT>

StringT::size_type stm::clamped_offset (const StringT &str, typename StringT::size_type pos)Function template returning the offset pos of the string str clamped by its length.

• template<class StringT>

StringT::size_type stm::clamped_rest (const StringT &str, typename StringT::size_type pos)Function template returning the length of the string str beginning with offset pos clamped by the string’slength.

• template<class StringT>

StringT stm::trim_back (const StringT &str)Function template returning a copy of str.substr without trailing white space characters as defined by thecurrent locale.

• template<class StringT>

StringT stm::trim_back (const StringT &str, typename StringT::size_type pos)Function template returning a copy of str.substr (0, pos) without trailing white space characters as definedby the current locale.

• template<class StringT>

StringT::size_type stm::find_trim_back (const StringT &str)Function template returning trim_back (str).size ().

• template<class StringT>

StringT::size_type stm::find_trim_back (const StringT &str, typename StringT::size_type pos)Function template returning trim_back (str, pos).size ().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 30: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 29

• template<class StringT>

StringT::size_type stm::find_token_end (const StringT &str, typename StringT::size_type pos=0)Function template returning the least index npos >= pos such that npos == str.length () or str [npos] iswhite space.

• template<class StringT>

StringT stm::trim_back (const StringT &str, const StringT &sepchars)Function template returning a copy of str without trailing characters from sepchars.

• template<class StringT>

StringT stm::trim_back (const StringT &str, const StringT &sepchars, typename StringT::size_typepos)

Function template returning a copy of str.substr (0, pos) without trailing characters from sepchars.

• template<class StringT>

StringT::size_type stm::find_trim_back (const StringT &str, const StringT &sepchars)Function template returning trim_back (str, sepchars).size ().

• template<class StringT>

StringT::size_type stm::find_trim_back (const StringT &str, const StringT &sepchars, typenameStringT::size_type pos)

Function template returning trim_back (str, sepchars, pos).size ().

• template<class StringT>

StringT::size_type stm::find_token_end (const StringT &str, const StringT &sepchars, typenameStringT::size_type pos=0)

Function template returning the least index npos >= pos with npos == str.length () or str [npos] is one ofthe characters of sepchars.

• template<class StringT>

StringT stm::trim_front (const StringT &str, typename StringT::size_type pos=0)Function template returning a copy of str.substr (pos) without leading white space characters as defined bythe current locale.

• template<class StringT>

StringT::size_type stm::find_trim_front (const StringT &str, typename StringT::size_type pos=0)Function template returning str.size () - trim_front (str, pos).size ().

• template<class StringT>

StringT stm::trim_front (const StringT &str, const StringT &sepchars, typename StringT::size_typepos=0)

Function template returning a copy of str.substr (pos) without leading characters from sepchars.

• template<class StringT>

StringT::size_type stm::find_trim_front (const StringT &str, const StringT &sepchars, typenameStringT::size_type pos=0)

Function template returning str.size () - trim_front (str, sepchars, pos).size ().

• template<class StringT>

StringT stm::trim (const StringT &str)Function template returning a copy of str without leading and trailing white space characters as defined bythe current locale.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 31: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 30

• template<class StringT>

StringT stm::trim (const StringT &str, const StringT &sepchars)Function template returning a copy of str without leading and trailing characters from sepchars.

9.3.2 Define Documentation

9.3.2.1 #define StmRectrlTry(envbuf) StmRectrlTryImpl_ (envbuf)

std::logic_error exception based error control for normal and non-case-sensitive regular expressions con-trolled by the predefined StmReCtrl Objects stm::rectrl::identity and stm::rectrl::tolower.

To establich such an error control choose a name, say ErrorEnv, for the macro argument envbuf andplace a call

StmRectrlTry (ErrorEnv)

at the beginning of a try block inside which regular expressions (see Abstract Data Type StmRe) are useddirectly or implicitely (by using functions or classes using them in their implementation). Then all errorsoccurring in regular expression functions controlled by one of the StmReCtrl objects stm::rectrl::identityor stm::rectrl::tolower throw a std::logic_error exception with the error reason as text. Unless the macroNDEBUG is defined, that text is also output on stderr.

Examples:

filesystest.cpp.

Definition at line 446 of file divaids.hpp.

Referenced by main().

9.3.3 Typedef Documentation

9.3.3.1 typedef boost::uint8_t stm::byte

Examples:

sudoku.cpp.

Definition at line 112 of file divaids.hpp.

9.3.3.2 typedef boost::uint16_t stm::word

Examples:

sudoku.cpp.

Definition at line 113 of file divaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 32: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 31

9.3.3.3 typedef boost::uint32_t stm::dword

Examples:

filesystest.cpp, smartptrtest.cpp, and sudoku.cpp.

Definition at line 114 of file divaids.hpp.

9.3.3.4 typedef boost::uint64_t stm::qword

Definition at line 115 of file divaids.hpp.

9.3.3.5 typedef boost::int8_t stm::int8

Definition at line 116 of file divaids.hpp.

9.3.3.6 typedef boost::int16_t stm::int16

Definition at line 117 of file divaids.hpp.

9.3.3.7 typedef boost::int32_t stm::int32

Definition at line 118 of file divaids.hpp.

9.3.3.8 typedef boost::int64_t stm::int64

Definition at line 119 of file divaids.hpp.

9.3.3.9 typedef boost::uint_t<sizeof (void ∗) ∗ CHAR_BIT>::leas stm::addrword)

Unsigned integer type capable of holding an address.

Definition at line 124 of file divaids.hpp.

9.3.3.10 typedef boost::mpl::bool_<__BYTE_ORDER == __LITTLE_ENDIAN>stm::littleendian

Type being boost::mpl::true_ or boost::mpl::false_ depending on the host endianness.

Definition at line 134 of file divaids.hpp.

9.3.3.11 typedef boost::mpl::bool_<__BYTE_ORDER == __BIG_ENDIAN> stm::bigendian

Type being boost::mpl::true_ or boost::mpl::false_ depending on the host endianness.

Definition at line 139 of file divaids.hpp.

9.3.4 Function Documentation

9.3.4.1 bool stm::hostlittleendian () [inline]

Returns true, if the host byte order is little-endian.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 33: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 32

Deprecated

use stm::littleendian () instead.

Definition at line 1390 of file divxaids.hpp.

9.3.4.2 bool stm::hostbigendian () [inline]

Returns true, if the host byte order is big-endian.

Deprecated

use stm::bigendian () instead.

Definition at line 1393 of file divxaids.hpp.

9.3.4.3 template<typename T> T & stm::buffer::get (byte ∗ ptr) [inline]

Returns a reference to the T object beginning at byte address ptr.

Definition at line 1411 of file divxaids.hpp.

9.3.4.4 template<typename T> const T & stm::buffer::get (const byte ∗ ptr) [inline]

Returns a constant reference to the T object beginning at byte address ptr.

Definition at line 1418 of file divxaids.hpp.

9.3.4.5 template<typename T> T & stm::buffer::fetch (T & obj, const byte ∗ ptr) [inline]

Creates obj T as being a copy of the T object beginning at byte address ptr and returns a reference to it.

T must be assignable.

Definition at line 1425 of file divxaids.hpp.

9.3.4.6 template<typename T> T & stm::buffer::swap (T & obj, typename boost::enable_if<boost::is_pod< T >, const byte ∗ >::type ptr) [inline]

Creates obj T as being a byte swapped copy of the T object beginning at byte address ptr and returns areference to it.

This function template is instantiated only for POD types T.

Definition at line 1433 of file divxaids.hpp.

9.3.4.7 template<typename T> T & stm::buffer::endianConvertIf (T & obj, typenameboost::enable_if< boost::is_pod< T >, const byte ∗ >::type ptr, bool convert) [inline]

Creates obj T as being an endian converted or unconverted copy of the T object beginning at byte addressptr and returns a reference to it.

The conversion takes place, if convert is true. This function template is instantiated only for POD types T.

Definition at line 1448 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 34: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 33

9.3.4.8 template<typename T> T & stm::buffer::endianConvertIf (T & obj, typenameboost::enable_if< boost::is_pod< T >, const byte ∗ >::type ptr, boost::mpl::false_) [inline]

Creates obj T as being an unconverted copy of the T object beginning at byte address ptr and returns areference to it.

This function template is instantiated only for POD types T.

Definition at line 1464 of file divxaids.hpp.

9.3.4.9 template<typename T> T & stm::buffer::endianConvertIf (T & obj, typenameboost::enable_if< boost::is_pod< T >, const byte ∗ >::type ptr, boost::mpl::true_) [inline]

Creates obj T as being an endian converted copy of the T object beginning at byte address ptr and returnsa reference to it.

This function template is instantiated only for POD types T.

Definition at line 1477 of file divxaids.hpp.

9.3.4.10 template<typename T> T & stm::buffer::networkByteOrderConvert (T & obj, typenameboost::enable_if< boost::is_pod< T >, const byte ∗ >::type ptr) [inline]

Creates obj T as being an endian converted or unconverted copy of the T object beginning at byte addressptr and returns a reference to it.

The conversion takes place, if the host byte order is not the network byte order (big endian). This functiontemplate is instantiated only for POD types T.

Definition at line 1490 of file divxaids.hpp.

9.3.4.11 template<typename T> T stm::buffer::swapped (typename boost::enable_if< boost::is_-pod< T >, T >::type value) [inline]

Returns an object of type T being a byte swapped copy of the T object value.

This function template is instantiated only for POD types T.

Definition at line 1501 of file divxaids.hpp.

9.3.4.12 template<typename T> T stm::buffer::endianConvertedIf (typename boost::enable_if<boost::is_pod< T >, T >::type value, bool convert) [inline]

Returns the endian converted or unconverted value of an object of type T.

The conversion takes place, if convert is true. This function template is instantiated only for POD types T.

Definition at line 1515 of file divxaids.hpp.

9.3.4.13 template<typename T> T stm::buffer::endianConvertedIf (typename boost::enable_if<boost::is_pod< T >, T >::type value, boost::mpl::false_) [inline]

Returns the unconverted value of an object of type T.

This function template is instantiated only for POD types T.

Definition at line 1530 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 35: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 34

9.3.4.14 template<typename T> T stm::buffer::endianConvertedIf (typename boost::enable_if<boost::is_pod< T >, T >::type value, boost::mpl::true_) [inline]

Returns the endian converted value of an object of type T.

This function template is instantiated only for POD types T.

Definition at line 1542 of file divxaids.hpp.

9.3.4.15 template<typename T> T stm::buffer::networkByteOrderConverted (typenameboost::enable_if< boost::is_pod< T >, T >::type value) [inline]

Returns the endian converted or unconverted value of an object of type T.

The conversion takes place, if the host byte order is not the network byte order (big endian). This functiontemplate is instantiated only for POD types T.

Definition at line 1554 of file divxaids.hpp.

9.3.4.16 template<typename T> size_t stm::buffer::pad (typename boost::enable_if< has_-pow2size< T >, size_t >::type offset) [inline]

Returns the least number aligned to T not being less than offset.

This function template is instantiated only for types T with a power of two as sizeof (T).

Definition at line 1565 of file divxaids.hpp.

9.3.4.17 template<typename T> byte ∗ stm::buffer::put (byte ∗ ptr, const T & value) [inline]

Stores a T object at byte address ptr and returns the byte address of the T object following that T object.

Definition at line 1575 of file divxaids.hpp.

9.3.4.18 template<class IStreamT, typename IntegralT, IntegralT minVal, IntegralT maxVal>IStreamT & stm::operator>> (IStreamT & is, integral_range< IntegralT, minVal, maxVal > &range) [inline]

Extract the integral range formatted as single integral number or as expression "first-last" with integralnumbers first < last enclosed in parentheses from the input stream is and store it in the integral range.

Definition at line 1890 of file divxaids.hpp.

References stm::integral_range< IntegralT, minVal, maxVal >::assign().

9.3.4.19 template<class OStreamT, typename IntegralT, IntegralT minVal, IntegralT maxVal>OStreamT & stm::operator<< (OStreamT & os, const integral_range< IntegralT, minVal, max-Val > & range) [inline]

Insert the integral range held by range into the output stream os formatted as single decimal numbers orexpression "first-last" with decimal numbers first < last.

Definition at line 1906 of file divxaids.hpp.

References os, and stm::local::xIntegral_range< IntegralT, minVal, maxVal >::range.

9.3.4.20 template<class IStreamT, class IntegralRangeT, class RangeSetT> IStreamT &stm::operator>> (IStreamT & is, integral_set< IntegralRangeT, RangeSetT > & set) [inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 36: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 35

Extract the integral ranges formatted as comma separated sequence of single integral numbers and/or ex-pressions "first-last" with integral numbers first < last enclosed in parentheses from the input stream is andstore them in the integral set.

Definition at line 2774 of file divxaids.hpp.

9.3.4.21 template<class OStreamT, class IntegralRangeT, class RangeSetT> OStreamT &stm::operator<< (OStreamT & os, const integral_set< IntegralRangeT, RangeSetT > & set)[inline]

Insert the integral ranges held by the integral set into the output stream os formatted as comma separatedsequence of single decimal numbers and/or expressions "first-last" with decimal numbers first < last.

Definition at line 2790 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::beginrange(), os, and stm::integral_set< In-tegralRangeT, RangeSetT >::size().

9.3.4.22 template<class OStreamT, typename UnsignedT, dword DefaultFlags> OStreamT &stm::operator<< (OStreamT & os, const hexfmt< UnsignedT, DefaultFlags > & val) [inline]

Insert the value held by val into the output stream os as hexadecimal string formatted according to the flagsin effect.

Definition at line 3177 of file divxaids.hpp.

References stm::fmtflags::LowerCase, and os.

9.3.4.23 template<class OStreamT, typename ElemT, dword DefaultFlags> OStreamT &stm::operator<< (OStreamT & os, const hexfmt< ElemT ∗, DefaultFlags > & ptr) [inline]

Insert the value held by ptr into the output stream os as hexadecimal string according to the flags in effect.

Definition at line 3283 of file divxaids.hpp.

References stm::fmtflags::LowerCase, and os.

9.3.4.24 template<class OStreamT, typename FloatT> OStreamT & stm::operator<< (OStreamT& os, const fixedfmt< FloatT > & val) [inline]

Insert the value held by val into the output stream os in fixed point notation using the precision specifiedby val.

Definition at line 3332 of file divxaids.hpp.

References os.

9.3.4.25 template<typename ScalarT> dword stm::nrOfSetBits (ScalarT value) [inline]

Function template returning the number of set bits of a ScalarT value.

Definition at line 3350 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 37: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 36

9.3.4.26 template<class StringT> StringT::size_type stm::clamped_offset (const StringT & str,typename StringT::size_type pos) [inline]

Function template returning the offset pos of the string str clamped by its length.

Definition at line 3387 of file divxaids.hpp.

Referenced by stm::find_token_end(), stm::find_trim_front(), and stm::trim_front().

9.3.4.27 template<class StringT> StringT::size_type stm::clamped_rest (const StringT & str,typename StringT::size_type pos) [inline]

Function template returning the length of the string str beginning with offset pos clamped by the string’slength.

Definition at line 3398 of file divxaids.hpp.

Referenced by stm::find_trim_back(), and stm::trim_back().

9.3.4.28 template<class StringT> StringT stm::trim_back (const StringT & str) [inline]

Function template returning a copy of str.substr without trailing white space characters as defined by thecurrent locale.

Definition at line 3409 of file divxaids.hpp.

Referenced by stm::trim(), and stm::trim_back().

9.3.4.29 template<class StringT> StringT stm::trim_back (const StringT & str, typenameStringT::size_type pos) [inline]

Function template returning a copy of str.substr (0, pos) without trailing white space characters as definedby the current locale.

Definition at line 3419 of file divxaids.hpp.

References stm::clamped_rest().

9.3.4.30 template<class StringT> StringT::size_type stm::find_trim_back (const StringT & str)[inline]

Function template returning trim_back (str).size ().

Definition at line 3437 of file divxaids.hpp.

Referenced by stm::find_trim_back(), and stm::basic_logger< StringT, stdIndent, lineLength, lockingPol-icy >::operator()().

9.3.4.31 template<class StringT> StringT::size_type stm::find_trim_back (const StringT & str,typename StringT::size_type pos) [inline]

Function template returning trim_back (str, pos).size ().

Definition at line 3447 of file divxaids.hpp.

References stm::clamped_rest().

9.3.4.32 template<class StringT> StringT::size_type stm::find_token_end (const StringT & str,typename StringT::size_type pos = 0) [inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 38: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 37

Function template returning the least index npos >= pos such that npos == str.length () or str [npos] iswhite space.

Definition at line 3462 of file divxaids.hpp.

References stm::clamped_offset().

Referenced by stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::operator()().

9.3.4.33 template<class StringT> StringT stm::trim_back (const StringT & str, const StringT &sepchars) [inline]

Function template returning a copy of str without trailing characters from sepchars.

Definition at line 3477 of file divxaids.hpp.

References stm::trim_back().

9.3.4.34 template<class StringT> StringT stm::trim_back (const StringT & str, const StringT &sepchars, typename StringT::size_type pos) [inline]

Function template returning a copy of str.substr (0, pos) without trailing characters from sepchars.

Definition at line 3488 of file divxaids.hpp.

9.3.4.35 template<class StringT> StringT::size_type stm::find_trim_back (const StringT & str,const StringT & sepchars) [inline]

Function template returning trim_back (str, sepchars).size ().

Definition at line 3503 of file divxaids.hpp.

References stm::find_trim_back().

9.3.4.36 template<class StringT> StringT::size_type stm::find_trim_back (const StringT & str,const StringT & sepchars, typename StringT::size_type pos) [inline]

Function template returning trim_back (str, sepchars, pos).size ().

Definition at line 3514 of file divxaids.hpp.

9.3.4.37 template<class StringT> StringT::size_type stm::find_token_end (const StringT & str,const StringT & sepchars, typename StringT::size_type pos = 0) [inline]

Function template returning the least index npos >= pos with npos == str.length () or str [npos] is one ofthe characters of sepchars.

Definition at line 3526 of file divxaids.hpp.

References stm::clamped_offset().

9.3.4.38 template<class StringT> StringT stm::trim_front (const StringT & str, typenameStringT::size_type pos = 0) [inline]

Function template returning a copy of str.substr (pos) without leading white space characters as defined bythe current locale.

Definition at line 3541 of file divxaids.hpp.

References stm::clamped_offset().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 39: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.3 DivAids: Diverse Aids 38

Referenced by stm::trim().

9.3.4.39 template<class StringT> StringT::size_type stm::find_trim_front (const StringT & str,typename StringT::size_type pos = 0) [inline]

Function template returning str.size () - trim_front (str, pos).size ().

Definition at line 3559 of file divxaids.hpp.

References stm::clamped_offset().

Referenced by stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::operator()().

9.3.4.40 template<class StringT> StringT stm::trim_front (const StringT & str, const StringT &sepchars, typename StringT::size_type pos = 0) [inline]

Function template returning a copy of str.substr (pos) without leading characters from sepchars.

Definition at line 3574 of file divxaids.hpp.

References stm::clamped_offset().

9.3.4.41 template<class StringT> StringT::size_type stm::find_trim_front (const StringT & str,const StringT & sepchars, typename StringT::size_type pos = 0) [inline]

Function template returning str.size () - trim_front (str, sepchars, pos).size ().

Definition at line 3588 of file divxaids.hpp.

References stm::clamped_offset().

9.3.4.42 template<class StringT> StringT stm::trim (const StringT & str) [inline]

Function template returning a copy of str without leading and trailing white space characters as defined bythe current locale.

Definition at line 3599 of file divxaids.hpp.

References stm::trim_back(), and stm::trim_front().

Referenced by stm::filespeclist::append(), stm::filespec::beginsWithRootDirectory(),stm::filespec::beginsWithRootName(), stm::brace_expand(), stm::tools::Ct::getCurrentBranch(),stm::filefind< PathContainerT >::insert(), stm::filespec::isAbsolute(), stm::tools::CtOperation::isLabel(),and stm::tools::Ct::ArgList::operator+=().

9.3.4.43 template<class StringT> StringT stm::trim (const StringT & str, const StringT &sepchars) [inline]

Function template returning a copy of str without leading and trailing characters from sepchars.

Definition at line 3606 of file divxaids.hpp.

References stm::trim_back(), and stm::trim_front().

9.3.5 Variable Documentation

9.3.5.1 StmReCtrl stm::rectrl::identity = initialize ()

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 40: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.4 FilesysAids: File System Aids 39

Control and error handling of normal regular expressions. Use stm::rectrl::identity as StmReCtrl argumentof regular expression functions (see Abstract Data Type StmRe).

Definition at line 108 of file divaids.cpp.

Referenced by stm::local::xfilespec::initialize(), stm::local::xIntegral_set< IntegralRangeT, Range-SetT >::initialize(), stm::local::xIntegral_range< IntegralT, minVal, maxVal >::initialize(),stm::rectrl::initialize(), and stm::local::BraceExpand::re().

9.3.5.2 StmReCtrl stm::rectrl::tolower = NULL

Control and error handling of non-case-sensitive regular expressions.

Use stm::rectrl::tolower as StmReCtrl argument of regular expression functions (see Abstract Data TypeStmRe).

Definition at line 107 of file divaids.cpp.

Referenced by stm::local::xfilespec::appChar(), stm::rectrl::initialize(), stm::operator<(), andstm::operator==().

9.4 FilesysAids: File System Aids

Collaboration diagram for FilesysAids: File System Aids:

FilesysAids Test

FilesysAids Implementation

FilesysAids: File System AidsSysToMath Aids C++ Library

9.4.1 Detailed Description

Collection of some file system related classes and class templates for path handling, bash-like file nameglobbing, POSIX-conform file spec expansion, and file and file range input scanning.

The declarations of these utilities are all contained in the namespace stm.

Files

• file filesysaids.hppDeclarations for file system aids.

Modules

• FilesysAids ImplementationImplementation of file system related utilities.

• FilesysAids TestDemonstration of the usage and tests of the implementation of the SysToMath Aids C++ Library moduleFilesysAids.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 41: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.4 FilesysAids: File System Aids 40

Classes

• class stm::pstringClass to represent a std::string with a case unsensitive order relation on Windows systems else with a casesensitive order relation used for file system element naming.

• class stm::numpstringClass to represent a file system name with a case unsensitive order relation on Windows systems else with acase case sensitive order relation collating numerically correct.

• class stm::path< NameT >

Class template path refining boost::filesystem::path.

• class stm::readablefile< NameT >

Class template representing a file named by its NameT subobject which is guaranteed to be accessible forreading and holding its size at the time of definition.

• class stm::inputrange< FileRangeT, bufSize >

Class template representing a range of input files.

• class stm::inputseq< InputFileT, bufSize >

• class stm::inputrange_iterator< BufRangeT, ContextT >

Input iterator class template reading successive byte ranges from the input range of the ContextT object forwhich it was constructed.

• class stm::filespecClass to specify file system element names.

• class stm::filespeclistList class of filespec objects.

• class stm::filefind< PathContainerT >

Container class representing existing file system elements defined by a file spec using pattern matchingbased file name expansion.

Typedefs

• typedef numpstring stm::numpath• typedef readablefile< numpstring > stm::sizedfile

For cenvenience sizedfile is a synonym for readablefile<numpstring>.

Functions

• int stm::makedir (const boost::filesystem::path &path)Make directory path.

• int stm::getkey ()Read one character from the console and return it as int on success, else return -1 and set the variable errnoaccording to the error.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 42: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.4 FilesysAids: File System Aids 41

• bool stm::isWin32Executable (const std::string &path)The function isWin32Executable returns true, if path (which may not exist) designates a WIN32 executablefile (case unsensitively the extension ’.exe’, ’.dll’, ’.msi’ or ’.com’).

• template<class SequenceT>

SequenceT & stm::brace_expand (SequenceT &result, const std::string &str, bool allowCom-maSep=false)

The function template brace_expand appends the maybe brace expanded words of str to the sequence resultand returns result.

• bool stm::designateSame (const pstring &p1, const pstring &p2)Return true, if the pstring object p1 designates the same file system element than that p2 designates.

• bool stm::operator< (const pstring &p1, const pstring &p2)Order relation for pstring objects.

• bool stm::operator== (const pstring &p1, const pstring &p2)Equality relation for pstring objects.

• bool stm::operator< (const numpstring &p1, const numpstring &p2)Order relation for numpstring objects.

• bool stm::operator== (const numpstring &p1, const numpstring &p2)Equality relation for numpstring objects.

• template<class NameT>

void stm::swap (readablefile< NameT > &rf1, readablefile< NameT > &rf2)Swaps the readablefile objects rf1 and rf2.

• template<class BufRangeT, class ContextT>

bool stm::operator== (const inputrange_iterator< BufRangeT, ContextT > &x, const inputrange_-iterator< BufRangeT, ContextT > &y)

Equality operator.

• template<class BufRangeT, class ContextT>

bool stm::operator!= (const inputrange_iterator< BufRangeT, ContextT > &x, const inputrange_-iterator< BufRangeT, ContextT > &y)

Inequality operator.

9.4.2 Typedef Documentation

9.4.2.1 typedef numpstring stm::numpath

Deprecated

For historical reasons numpath is an alternative name for numpstring.

Definition at line 226 of file filesysaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 43: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.4 FilesysAids: File System Aids 42

9.4.2.2 typedef readablefile<numpstring> stm::sizedfile

For cenvenience sizedfile is a synonym for readablefile<numpstring>.

Definition at line 617 of file filesysaids.hpp.

9.4.3 Function Documentation

9.4.3.1 int stm::makedir (const boost::filesystem::path & path)

Make directory path.

Returns 0 on success, else -1 and the variable errno set according to the error.

Definition at line 101 of file filesysaids.cpp.

9.4.3.2 int stm::getkey () [inline]

Read one character from the console and return it as int on success, else return -1 and set the variable errnoaccording to the error.

Definition at line 2433 of file filesysxaids.hpp.

References stmGetkey().

9.4.3.3 bool stm::isWin32Executable (const std::string & path) [inline]

The function isWin32Executable returns true, if path (which may not exist) designates a WIN32 executablefile (case unsensitively the extension ’.exe’, ’.dll’, ’.msi’ or ’.com’).

Definition at line 2439 of file filesysxaids.hpp.

9.4.3.4 template<class SequenceT> SequenceT & stm::brace_expand (SequenceT & result, conststd::string & str, bool allowCommaSep = false) [inline]

The function template brace_expand appends the maybe brace expanded words of str to the sequence resultand returns result.

In order to distinguish from extended regular expression file specs, only words not beginning with ’(’ arebrace expanded as defined for the bash shell. On Windows systems instead of ’\’ the character ’%’ is takento escape the brace expansion operators ’{’, ’,’ and ’}’. By default any non-empty sequence of whitspaceserves as word delimiter. If allowCommaSep is true, also unescaped commas not included in pairs of bracesalso belong to these word delimiters. For SequenceT any container having a method push_back is suitable.As the implementation of brace_expand uses regular expressions (see Abstract Data Type StmRe), for itserror control the macro StmRectrlTry can be used.

Definition at line 2451 of file filesysxaids.hpp.

References stm::filespec::containsUnescapedBrace(), stm::filespec::findFirstOfUnescaped(),stm::filespec::findUnescapedParentheses(), stm::local::BraceExpand::re(), stmReMatch(), and stm::trim().

Referenced by stm::tools::CtOperation::addLabels(), stm::filespeclist::append(), and stm::filefind< Path-ContainerT >::insert().

9.4.3.5 bool stm::designateSame (const pstring & p1, const pstring & p2) [inline]

Return true, if the pstring object p1 designates the same file system element than that p2 designates.

Definition at line 1235 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 44: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.4 FilesysAids: File System Aids 43

References stm::pstring::designatesSame().

9.4.3.6 bool stm::operator< (const pstring & p1, const pstring & p2) [inline]

Order relation for pstring objects.

Definition at line 1241 of file filesysxaids.hpp.

References stm::rectrl::tolower.

9.4.3.7 bool stm::operator== (const pstring & p1, const pstring & p2) [inline]

Equality relation for pstring objects.

Definition at line 1264 of file filesysxaids.hpp.

References stm::rectrl::tolower.

9.4.3.8 bool stm::operator< (const numpstring & p1, const numpstring & p2) [inline]

Order relation for numpstring objects.

Definition at line 1299 of file filesysxaids.hpp.

9.4.3.9 bool stm::operator== (const numpstring & p1, const numpstring & p2) [inline]

Equality relation for numpstring objects.

Definition at line 1324 of file filesysxaids.hpp.

9.4.3.10 template<class NameT> void stm::swap (readablefile< NameT > & rf1, readablefile<NameT > & rf2) [inline]

Swaps the readablefile objects rf1 and rf2.

Definition at line 1753 of file filesysxaids.hpp.

References stm::readablefile< NameT >::swap().

Referenced by stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::load().

9.4.3.11 template<class BufRangeT, class ContextT> bool stm::operator== (const inputrange_-iterator< BufRangeT, ContextT > & x, const inputrange_iterator< BufRangeT, ContextT > & y)[inline]

Equality operator.

Definition at line 2120 of file filesysxaids.hpp.

9.4.3.12 template<class BufRangeT, class ContextT> bool stm::operator!= (const inputrange_-iterator< BufRangeT, ContextT > & x, const inputrange_iterator< BufRangeT, ContextT > &y) [inline]

Inequality operator.

Definition at line 2131 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 45: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.5 GenCRC: Generic CRC Generation 44

9.5 GenCRC: Generic CRC Generation

Collaboration diagram for GenCRC: Generic CRC Generation:

GenCRC: Generic CRC Generation

GenCRC Test

GenCRC Implementation

SysToMath Aids C++ Library

9.5.1 Detailed Description

Declaration of the class template stm::crc used to generate cyclic redundancy check (CRC) remainderpolynomials of template type RemPolT over buffers of byte-like objects.

In the following class template documentation the international standard C++ISO/IEC 14882:2003(E) iscited in the form of parenthesized expressions with the same syntax and semantics as inside this interna-tional standard itself.

Files

• file gencrc.hppDeclarations of generic CRC remainder polynomial generation.

Modules

• GenCRC ImplementationImplementation of the class template stm::crc used to generate cyclic redundancy check (CRC) remainderpolynomials of template type RemPolT over buffers of byte-like objects.

• GenCRC TestDemonstration of the usage and tests of the implementation of the SysToMath Aids C++ Library moduleGenCRC.

Classes

• class stm::crc< RemPolT >

Class template crc provides a means to generate cyclic redundancy check (CRC) remainder polynomials oftype RemPolT over buffers of byte-like objects.

9.5.1.1 Examples of GenCRC Usage

#include <assert.h>#include <string>#include <stm/gencrc.hpp>

// Define CRC types.assert (sizeof (unsigned short) == 2);assert (sizeof (unsigned int) == 4);typedef stm::crc<unsigned short> crc16;

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 46: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.5 GenCRC: Generic CRC Generation 45

typedef stm::crc<unsigned int> crc32;

// Buffers to check.std::string hello = "Hello ";std::string world = "world!";

// CRC16 generator polynomial as designated by CCITT (Comitonsultatif// International Tgraphique et Tphonique).crc16 ccittcheck (0x1021, 0xffff);

// CCITT CRC16 check sum of the concatenation of the strings hello and// world.unsigned short ccittCheckSum =

ccittcheck(

ccittcheck(

hello.begin (),hello.end ()

),world.c_str (),world.size ()

);

// CRC16 generator polynomial as used by BISYNCH and ARC.crc16 crc16check (0x8005, 0, true);

// CRC16 check sum of the concatenation of the strings hello and world.unsigned short crc16CheckSum =

crc16check(

crc16check(

hello.begin (),hello.end ()

),world.c_str (),world.size (),true

);

// CRC16 generator polynomial as used by XMODEM.crc16 xmodemcheck (0x8408, 0, true);

// XMODEM check sum of the concatenation of the strings hello and world.unsigned short xmodemCheckSum =

xmodemcheck(

xmodemcheck(

hello.begin (),hello.end ()

),world.c_str (),world.size (),true

);

// Commonly used CRC32 generator polynomial.crc32 crc32check (0x04C11DB7, 0xFFFFFFFF, true);

// CRC32 check sum of the concatenation of the strings hello and world.unsigned int crc32CheckSum =

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 47: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.6 DebugAids Implementation 46

crc32check(

crc32check(

hello.begin (),hello.end ()

),world.c_str (),world.size (),true,0xFFFFFFFF

);

9.6 DebugAids Implementation

Collaboration diagram for DebugAids Implementation:

DebugAids Implementation DivAids Implementationstm::localDebugAids: Debugging Support Facilities

9.6.1 Detailed Description

Implementation of the debugging support facilities.

Files

• file debugxaids.hppImplementation of the debugging support facilities.

• file debugaids.cppImplementation of the debugging support facilities.

Namespaces

• namespace stm::localImplementation namespace for the SysToMath C++ Libraries.

Defines

• #define StmDebugAidsErrmsgImpl_(msg) std::string (stm::local::errmsg (__FILE__, __LINE__)<< msg)

Implementation macro for StmDebugAidsErrmsg.

• #define StmDebugAidsVerifyImpl_(cond)Implementation macro for StmDebugAidsVerify.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 48: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.6 DebugAids Implementation 47

Variables

• static bool stm::local::syslogPerror• static std::string stm::local::syslogProg

9.6.2 Define Documentation

9.6.2.1 #define StmDebugAidsErrmsgImpl_(msg) std::string (stm::local::errmsg (__FILE__, __-LINE__) << msg)

Implementation macro for StmDebugAidsErrmsg.

Definition at line 107 of file debugxaids.hpp.

9.6.2.2 #define StmDebugAidsVerifyImpl_(cond)

Value:

if (!stm::local::errmsg::active && ! (cond)) do \{ \

std::cerr << StmDebugAidsErrmsgImpl_ ("Condition ’" #cond "’ failed.") << std::endl; \std::cerr << "Press ’i’ to ignore, or any other key to abort: "; \int ch = stmGetkey (fileno (stdin)); \std::cerr << char (ch) << std::endl; \switch (ch) \{ \case ’i’: \case ’I’: \

stm::local::errmsg::active = false; \break; \

default: \stm::local::errmsg::active = false; \throw std::logic_error (StmDebugAidsErrmsgImpl_ ("Condition ’" #cond "’ failed.")); \break; \

} \} while (0)

Implementation macro for StmDebugAidsVerify.

Definition at line 139 of file debugxaids.hpp.

9.6.3 Variable Documentation

9.6.3.1 bool stm::local::syslogPerror [static]

Definition at line 96 of file debugaids.cpp.

Referenced by stm::initSyslog(), and stm::syslog().

9.6.3.2 std::string stm::local::syslogProg [static]

Definition at line 97 of file debugaids.cpp.

Referenced by stm::initSyslog(), and stm::syslog().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 49: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.7 DivAids Implementation 48

9.7 DivAids Implementation

Collaboration diagram for DivAids Implementation:

DivAids: Diverse Aids DivAids Implementation DebugAids Implementationstm::local

9.7.1 Detailed Description

Implementation of general utilities.

Files

• file divxaids.hppImplementation of diverse aids.

• file divaids.cppImplementation of general utilities.

Namespaces

• namespace stm::localImplementation namespace for the SysToMath C++ Libraries.

Classes

• class stm::local::xIntegral_range< IntegralT, minVal, maxVal >

stm::integral_range implementation base class template.

• class stm::local::xIntegral_set< IntegralRangeT, RangeSetT >

stm::integral_set implementation base class template.

• class stm::local::xconditionstm::condition implementation base class.

• class stm::local::xsystem_conditionstm::system_condition implementation base class.

• class stm::local::xscoped_lockstm::scoped_lock implementation base class.

• class stm::local::xsystem_scoped_lockstm::system_scoped_lock implementation base class.

• class stm::local::xhexfmt< UnsignedT >

stm::hexfmt implementation base class template.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 50: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.7 DivAids Implementation 49

• class stm::local::xfixedfmt< FloatT >

stm::fixedfmt implementation base class template.

Defines

• #define StmRectrlTryImpl_(envbuf)Implementation macro for StmRectrlTry.

Functions

• StmReCtrl stm::rectrl::initialize ()stm::rectrl initialization.

• stm::local::xIntegral_range::xIntegral_range (integral_type fromNumber, integral_type toNumber)• impl & stm::local::xIntegral_range::match (const std::string &rstr, size_t fmtFlags)• static int stm::local::xIntegral_range::getIntegral (boost::mpl::false_, const std::string &vstr,

integral_type &val)If vstr designates an integral_type object, that object is assigned to val and 0 is returned, else 1.

• static int stm::local::xIntegral_range::getIntegral (boost::mpl::true_, const std::string &vstr,integral_type &val)

If vstr designates an integral_type object, that object is assigned to val and 0 is returned, else 1.

• static StmRe stm::local::xIntegral_range::initialize ()• static int stm::local::xIntegral_range::optassign (StmMtcFctCmd cmd, StmReMtc reMtc)• static int stm::local::xIntegral_range::assign (StmMtcFctCmd cmd, StmReMtc reMtc)• stm::local::xIntegral_set::integral_iterator::integral_iterator ()• bool stm::local::xIntegral_set::integral_iterator::operator== (const integral_iterator &other) const• bool stm::local::xIntegral_set::integral_iterator::operator!= (const integral_iterator &other) const• integral_type stm::local::xIntegral_set::integral_iterator::operator ∗ () const• integral_iterator & stm::local::xIntegral_set::integral_iterator::operator++ ()• const integral_iterator & stm::local::xIntegral_set::integral_iterator::operator++ (int)• integral_iterator & stm::local::xIntegral_set::integral_iterator::operator– ()• const integral_iterator & stm::local::xIntegral_set::integral_iterator::operator– (int)• stm::local::xIntegral_set::integral_iterator::integral_iterator (const impl ∗parent, typename

impl::const_iterator rit, integral_type value)• stm::local::xIntegral_set::xIntegral_set ()• void stm::local::xIntegral_set::adjust () throw ()

Adjust this object to be consistent.

• void stm::local::xIntegral_set::verify () constVerify, if this object is consistent. Only active in debug version.

• integral_iterator stm::local::xIntegral_set::mkIterator (const_iterator rit, integral_type value)• iterator stm::local::xIntegral_set::rangeOf (integral_type number, bool includeTo)

Return the iterator pointing to the range the number belongs to, or end(), if there is no such range.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 51: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.7 DivAids Implementation 50

• const_iterator stm::local::xIntegral_set::rangeOf (integral_type number, bool includeTo) const• impl & stm::local::xIntegral_set::match (const std::string &rstr, size_t fmtFlags)• static StmRe stm::local::xIntegral_set::initialize ()• static int stm::local::xIntegral_set::setassign (StmMtcFctCmd cmd, StmReMtc reMtc)• bool stm::local::xcondition::wait_ (scoped_lock &lock, int64 absTimeMs)• bool stm::local::xsystem_condition::wait_ (system_scoped_lock &lock, int64 absTimeMs)

Variables

• static StmRe stm::local::xIntegral_range::optrange = NULL• static StmRe stm::local::xIntegral_range::range• static StmRe stm::local::xIntegral_set::optranges = NULL• static StmRe stm::local::xIntegral_set::ranges

9.7.2 Define Documentation

9.7.2.1 #define StmRectrlTryImpl_(envbuf)

Value:

jmp_buf tolower##envbuf##_; \jmp_buf identity##envbuf##_; \if (setjmp (tolower##envbuf##_)) \{ \

throw std::logic_error \( \

std::string ("system error: ") + \stmReCtrlGetErrorMsg (stm::rectrl::tolower) \

); \} \if (setjmp (identity##envbuf##_)) \{ \

throw std::logic_error \( \

std::string ("system error: ") + \stmReCtrlGetErrorMsg (stm::rectrl::identity) \

); \} \stmReCtrlSetErrorEnv (stm::rectrl::tolower, &tolower##envbuf##_); \stmReCtrlSetErrorEnv (stm::rectrl::identity, &identity##envbuf##_)

Implementation macro for StmRectrlTry.

Definition at line 203 of file divxaids.hpp.

9.7.3 Function Documentation

9.7.3.1 StmReCtrl stm::rectrl::initialize ()

stm::rectrl initialization.

Definition at line 85 of file divaids.cpp.

References stm::rectrl::identity, StmElements, stmReCtrlCreate(), and stm::rectrl::tolower.

Referenced by stm::local::xfilespec::initialize(), stm::local::xIntegral_set< IntegralRangeT, Range-SetT >::initialize(), stm::local::xIntegral_range< IntegralT, minVal, maxVal >::initialize(),stm::local::BraceExpand::re(), stm::local::xfilespec::xfilespec(), and stm::local::xIntegral_range< In-tegralT, minVal, maxVal >::xIntegral_range().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 52: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.7 DivAids Implementation 51

9.7.3.2 template<typename IntegralT, IntegralT minVal, IntegralT maxVal>stm::local::xIntegral_range< IntegralT, minVal, maxVal >::xIntegral_range (integral_typefromNumber, integral_type toNumber) [inline, protected, inherited]

Definition at line 748 of file divxaids.hpp.

References stm::rectrl::initialize().

9.7.3.3 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> xIntegral_range<IntegralT, minVal, maxVal >::impl & stm::local::xIntegral_range< IntegralT, minVal, maxVal>::match (const std::string & rstr, size_t fmtFlags) [inline, protected, inherited]

Definition at line 768 of file divxaids.hpp.

References stmReMatch().

Referenced by stm::integral_range< IntegralT, minVal, maxVal >::assign().

9.7.3.4 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> intstm::local::xIntegral_range< IntegralT, minVal, maxVal >::getIntegral (boost::mpl::false_,const std::string & vstr, integral_type & val) [inline, static, private, inherited]

If vstr designates an integral_type object, that object is assigned to val and 0 is returned, else 1.

Only instantiated for unsigned integral types.

Definition at line 791 of file divxaids.hpp.

9.7.3.5 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> intstm::local::xIntegral_range< IntegralT, minVal, maxVal >::getIntegral (boost::mpl::true_,const std::string & vstr, integral_type & val) [inline, static, private, inherited]

If vstr designates an integral_type object, that object is assigned to val and 0 is returned, else 1.

Only instantiated for signed integral types.

Definition at line 815 of file divxaids.hpp.

9.7.3.6 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> StmRestm::local::xIntegral_range< IntegralT, minVal, maxVal >::initialize () [inline, static,private, inherited]

Definition at line 837 of file divxaids.hpp.

References stm::local::xIntegral_range< IntegralT, minVal, maxVal >::assign(), stm::rectrl::identity,stm::rectrl::initialize(), stm::local::xIntegral_range< IntegralT, minVal, maxVal >::optassign(),stm::local::xIntegral_range< IntegralT, minVal, maxVal >::optrange, stm::local::xIntegral_range<IntegralT, minVal, maxVal >::range, and stmReCreate().

9.7.3.7 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> intstm::local::xIntegral_range< IntegralT, minVal, maxVal >::optassign (StmMtcFctCmd cmd,StmReMtc reMtc) [inline, static, private, inherited]

Definition at line 870 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 53: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.7 DivAids Implementation 52

References StmMtcFctCmd::action, stmQreMtcNthSimpleReMtc(), stmQreMtcSimpleReMtcCount(), andstmReMtcNthQreMtc().

Referenced by stm::local::xIntegral_range< IntegralT, minVal, maxVal >::initialize().

9.7.3.8 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> intstm::local::xIntegral_range< IntegralT, minVal, maxVal >::assign (StmMtcFctCmd cmd, Stm-ReMtc reMtc) [inline, static, private, inherited]

Definition at line 889 of file divxaids.hpp.

References StmMtcFctCmd::action, stmQreMtcNthSimpleReMtc(), stmQreMtcSimpleReMtcCount(),stmReMtcEnv(), stmReMtcNthQreMtc(), stmReMtcNthQreMtcLen(), and stmReMtcNthQreMtcStr().

Referenced by stm::local::xIntegral_range< IntegralT, minVal, maxVal >::initialize().

9.7.3.9 template<class IntegralRangeT, class RangeSetT> stm::local::xIntegral_set< Integral-RangeT, RangeSetT >::integral_iterator::integral_iterator () [inline, inherited]

Definition at line 949 of file divxaids.hpp.

9.7.3.10 template<class IntegralRangeT, class RangeSetT> bool stm::local::xIntegral_set< Inte-gralRangeT, RangeSetT >::integral_iterator::operator== (const integral_iterator & other) const[inline, inherited]

Definition at line 957 of file divxaids.hpp.

9.7.3.11 template<class IntegralRangeT, class RangeSetT> bool stm::local::xIntegral_set< In-tegralRangeT, RangeSetT >::integral_iterator::operator!= (const integral_iterator & other) const[inline, inherited]

Definition at line 969 of file divxaids.hpp.

9.7.3.12 template<class IntegralRangeT, class RangeSetT> xIntegral_set< IntegralRangeT,RangeSetT >::integral_type stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_-iterator::operator ∗ () const [inline, inherited]

Definition at line 980 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::parent_-, stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::rit_, andstm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::value_.

9.7.3.13 template<class IntegralRangeT, class RangeSetT> xIntegral_set< IntegralRangeT,RangeSetT >::integral_iterator & stm::local::xIntegral_set< IntegralRangeT, RangeSetT>::integral_iterator::operator++ () [inline, inherited]

Definition at line 995 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::MaxVal, stm::local::xIntegral_-set< IntegralRangeT, RangeSetT >::MinVal, stm::local::xIntegral_set< IntegralRangeT, RangeSetT>::integral_iterator::parent_, stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_-iterator::rit_, StmDebugAidsVerify, and stm::local::xIntegral_set< IntegralRangeT, RangeSetT>::integral_iterator::value_.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 54: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.7 DivAids Implementation 53

9.7.3.14 template<class IntegralRangeT, class RangeSetT> const xIntegral_set< Integral-RangeT, RangeSetT >::integral_iterator & stm::local::xIntegral_set< IntegralRangeT, RangeSetT>::integral_iterator::operator++ (int) [inline, inherited]

Definition at line 1017 of file divxaids.hpp.

9.7.3.15 template<class IntegralRangeT, class RangeSetT> xIntegral_set< IntegralRangeT,RangeSetT >::integral_iterator & stm::local::xIntegral_set< IntegralRangeT, RangeSetT>::integral_iterator::operator– () [inline, inherited]

Definition at line 1029 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::MaxVal, stm::local::xIntegral_-set< IntegralRangeT, RangeSetT >::MinVal, stm::local::xIntegral_set< IntegralRangeT, RangeSetT>::integral_iterator::parent_, stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_-iterator::rit_, StmDebugAidsVerify, and stm::local::xIntegral_set< IntegralRangeT, RangeSetT>::integral_iterator::value_.

9.7.3.16 template<class IntegralRangeT, class RangeSetT> const xIntegral_set< Integral-RangeT, RangeSetT >::integral_iterator & stm::local::xIntegral_set< IntegralRangeT, RangeSetT>::integral_iterator::operator– (int) [inline, inherited]

Definition at line 1045 of file divxaids.hpp.

9.7.3.17 template<class IntegralRangeT, class RangeSetT> stm::local::xIntegral_set< Integral-RangeT, RangeSetT >::integral_iterator::integral_iterator (const impl ∗ parent, typenameimpl::const_iterator rit, integral_type value) [inline, private, inherited]

Definition at line 1057 of file divxaids.hpp.

9.7.3.18 template<class IntegralRangeT, class RangeSetT> stm::local::xIntegral_set< Integral-RangeT, RangeSetT >::xIntegral_set () [inline, protected, inherited]

Definition at line 1083 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::initialize().

9.7.3.19 template<class IntegralRangeT, class RangeSetT> void stm::local::xIntegral_set< Inte-gralRangeT, RangeSetT >::adjust () throw () [inline, protected, inherited]

Adjust this object to be consistent.

Definition at line 1090 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::MaxVal, stm::local::xIntegral_set<IntegralRangeT, RangeSetT >::MinVal, stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::size_,and StmDebugAidsVerify.

Referenced by stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::match(), stm::integral_set< Inte-gralRangeT, RangeSetT >::operator-=(), stm::integral_set< IntegralRangeT, RangeSetT >::operator|=(),and stm::integral_set< IntegralRangeT, RangeSetT >::swap().

9.7.3.20 template<class IntegralRangeT, class RangeSetT> void stm::local::xIntegral_set< Inte-gralRangeT, RangeSetT >::verify () const [inline, protected, inherited]

Verify, if this object is consistent. Only active in debug version.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 55: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.7 DivAids Implementation 54

Definition at line 1133 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::MaxVal, stm::local::xIntegral_set<IntegralRangeT, RangeSetT >::MinVal, stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::size_,and StmDebugAidsVerify.

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::invert(), stm::integral_set< Integral-RangeT, RangeSetT >::operator &=(), stm::integral_set< IntegralRangeT, RangeSetT >::operator-=(),and stm::integral_set< IntegralRangeT, RangeSetT >::operator|=().

9.7.3.21 template<class IntegralRangeT, class RangeSetT> xIntegral_set< IntegralRangeT,RangeSetT >::integral_iterator stm::local::xIntegral_set< IntegralRangeT, RangeSetT>::mkIterator (const_iterator rit, integral_type value) [inline, protected, inherited]

Definition at line 1155 of file divxaids.hpp.

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::begin(), stm::integral_set< Integral-RangeT, RangeSetT >::end(), and stm::integral_set< IntegralRangeT, RangeSetT >::find().

9.7.3.22 template<class IntegralRangeT, class RangeSetT> xIntegral_set< IntegralRangeT,RangeSetT >::iterator stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::rangeOf(integral_type number, bool includeTo) [inline, protected, inherited]

Return the iterator pointing to the range the number belongs to, or end(), if there is no such range.

Definition at line 1168 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::MinVal.

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::find(), stm::integral_set< Integral-RangeT, RangeSetT >::findrange(), stm::integral_set< IntegralRangeT, RangeSetT >::operator &=(),stm::integral_set< IntegralRangeT, RangeSetT >::operator-=(), stm::integral_set< IntegralRangeT,RangeSetT >::operator>=(), and stm::integral_set< IntegralRangeT, RangeSetT >::operator|=().

9.7.3.23 template<class IntegralRangeT, class RangeSetT> xIntegral_set< IntegralRangeT,RangeSetT >::const_iterator stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::rangeOf(integral_type number, bool includeTo) const [inline, protected, inherited]

Definition at line 1187 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::MinVal.

9.7.3.24 template<class IntegralRangeT, class RangeSetT> xIntegral_set< IntegralRangeT,RangeSetT >::impl & stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::match (conststd::string & rstr, size_t fmtFlags) [inline, protected, inherited]

Definition at line 1205 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::adjust(), stm::local::xIntegral_-set< IntegralRangeT, RangeSetT >::optranges, stm::local::xIntegral_set< IntegralRangeT, RangeSetT>::ranges, and stmReMatch().

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::assign().

9.7.3.25 template<class IntegralRangeT, class RangeSetT> StmRe stm::local::xIntegral_set< In-tegralRangeT, RangeSetT >::initialize () [inline, static, private, inherited]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 56: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.7 DivAids Implementation 55

Definition at line 1228 of file divxaids.hpp.

References stm::rectrl::identity, stm::rectrl::initialize(), stm::local::xIntegral_set< IntegralRangeT,RangeSetT >::optranges, stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::ranges,stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::setassign(), and stmReCreate().

Referenced by stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::xIntegral_set().

9.7.3.26 template<class IntegralRangeT, class RangeSetT> int stm::local::xIntegral_set< In-tegralRangeT, RangeSetT >::setassign (StmMtcFctCmd cmd, StmReMtc reMtc) [inline,static, private, inherited]

Definition at line 1253 of file divxaids.hpp.

References StmMtcFctCmd::action, and stmReMtcEnv().

Referenced by stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::initialize().

9.7.3.27 bool stm::local::xcondition::wait_ (scoped_lock & lock, int64 absTimeMs) [inline,inherited]

Definition at line 1272 of file divxaids.hpp.

References stm::local::xcondition::cond_, stm::local::xscoped_lock::mutex_, stmConditionTimedWait(),and stmConditionWait().

Referenced by stm::condition::timed_wait(), and stm::condition::wait().

9.7.3.28 bool stm::local::xsystem_condition::wait_ (system_scoped_lock & lock, int64 absTimeMs)[inline, inherited]

Definition at line 1328 of file divxaids.hpp.

References stm::local::xsystem_condition::cond_, stm::local::xsystem_scoped_lock::mutex_, stmNamed-ConditionTimedWait(), and stmNamedConditionWait().

Referenced by stm::system_condition::timed_wait(), and stm::system_condition::wait().

9.7.4 Variable Documentation

9.7.4.1 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> StmRestm::local::xIntegral_range< IntegralT, minVal, maxVal >::optrange = NULL [inline,static, private, inherited]

Definition at line 356 of file divxaids.hpp.

Referenced by stm::local::xIntegral_range< IntegralT, minVal, maxVal >::initialize().

9.7.4.2 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> StmRestm::local::xIntegral_range< IntegralT, minVal, maxVal >::range [inline, static,private, inherited]

Initial value:

xIntegral_range<IntegralT, minVal, maxVal>::initialize ()

Definition at line 357 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 57: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.8 FilesysAids Implementation 56

Referenced by stm::local::xIntegral_range< IntegralT, minVal, maxVal >::initialize(), andstm::operator<<().

9.7.4.3 template<class IntegralRangeT, class RangeSetT> StmRe stm::local::xIntegral_set< Inte-gralRangeT, RangeSetT >::optranges = NULL [inline, static, private, inherited]

Definition at line 496 of file divxaids.hpp.

Referenced by stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::initialize(), andstm::local::xIntegral_set< IntegralRangeT, RangeSetT >::match().

9.7.4.4 template<class IntegralRangeT, class RangeSetT> StmRe stm::local::xIntegral_set< Inte-gralRangeT, RangeSetT >::ranges [inline, static, private, inherited]

Initial value:

xIntegral_set<IntegralRangeT, RangeSetT>::initialize ()

Definition at line 497 of file divxaids.hpp.

Referenced by stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::initialize(), andstm::local::xIntegral_set< IntegralRangeT, RangeSetT >::match().

9.8 FilesysAids Implementation

Collaboration diagram for FilesysAids Implementation:

FilesysAids ImplementationFilesysAids: File System Aids

9.8.1 Detailed Description

Implementation of file system related utilities.

Files

• file filesysxaids.hppImplementation of file system aids.

• file filesysaids.cppImplementation of file system related utilities.

Classes

• class stm::local::xrecursionenvstm::path::recursionenv implementation base class.

• class stm::local::xdirdata< DataT, EnvT >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 58: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.8 FilesysAids Implementation 57

stm::path::dirdata implementation base class template.

• class stm::local::xreadablefilestm::readablefile implementation base class.

• class stm::local::xinputrange< FileRangeT, bufSize >

stm::inputrange implementation base class template.

• class stm::local::xinputrange_iterator< BufRangeT, ContextT >

stm::inputrange_iterator implementation base class template.

• class stm::local::xfilespecstm::filespec implementation base class.

• class stm::local::xfilespecliststm::filespeclist implementation base class.

• class stm::local::xfilefind< PathContainerT >

stm::filefind implementation base class template.

• class stm::local::BraceExpandBrace expansion implementation class.

Defines

• #define PsepChars "/"• #define PsepRe "/"• #define Esc "\\"• #define EscRe "\\"

9.8.2 Define Documentation

9.8.2.1 #define PsepChars "/"

Definition at line 87 of file filesysaids.cpp.

Referenced by stm::local::xfilespec::appDot(), stm::local::xfilespec::appDotSeq(),stm::pstring::limitedPath(), and stm::local::xfilespec::starStarOp().

9.8.2.2 #define PsepRe "/"

Definition at line 88 of file filesysaids.cpp.

Referenced by stm::local::xfilespec::bracketExpr(), stm::filespec::filespec(), andstm::local::xfilespec::starStarOp().

9.8.2.3 #define Esc "\\"

Definition at line 89 of file filesysaids.cpp.

Referenced by stm::filespec::findFirstOfUnescaped(), and stm::filespec::findLastOfUnescaped().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 59: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.9 GenCRC Implementation 58

9.8.2.4 #define EscRe "\\"

Definition at line 90 of file filesysaids.cpp.

Referenced by stm::local::xfilespec::initialize().

9.9 GenCRC Implementation

Collaboration diagram for GenCRC Implementation:

GenCRC: Generic CRC Generation GenCRC Implementation

9.9.1 Detailed Description

Implementation of the class template stm::crc used to generate cyclic redundancy check (CRC) remainderpolynomials of template type RemPolT over buffers of byte-like objects.

Files

• file genxcrc.hppImplementation of generic CRC remainder polynomial generation.

Classes

• class stm::local::xcrc< RemPolT >

stm::crc implementation base class template.

9.10 LoggerAids Implementation

Collaboration diagram for LoggerAids Implementation:

LoggerAids: Formatted Logging Aids LoggerAids Implementation

9.10.1 Detailed Description

Implementation of utilities for formatted logging on an output stream and on the console.

Files

• file loggerxaids.hppImplementation of formatted logging aids.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 60: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.11 SmartptrAids Implementation 59

Classes

• class stm::local::basic_xlogger< StringT, lockingPolicy >

stm::basic_logger implementation base class template.

Variables

• static const char_type stm::local::basic_xlogger::psep_ [ ]Path separator characters ’/’ and ’\’.

• static const size_t stm::local::basic_xlogger::PsepLen = sizeof (psep_) / sizeof (char_type)Number of path separator characters.

9.10.2 Variable Documentation

9.10.2.1 template<class StringT, word lockingPolicy> const basic_xlogger< StringT, lockingPolicy>::char_type stm::local::basic_xlogger< StringT, lockingPolicy >::psep_ [inline, static,protected, inherited]

Initial value:

{char_type (’/’),char_type (’\\’)

}

Path separator characters ’/’ and ’\’.

Definition at line 613 of file loggerxaids.hpp.

Referenced by stm::local::basic_xlogger< std::string, lockingPolicy >::tprint().

9.10.2.2 template<class StringT, word lockingPolicy> const size_t stm::local::basic_xlogger<StringT, lockingPolicy >::PsepLen = sizeof (psep_) / sizeof (char_type) [inline, static,protected, inherited]

Number of path separator characters.

Definition at line 616 of file loggerxaids.hpp.

Referenced by stm::local::basic_xlogger< std::string, lockingPolicy >::tprint().

9.11 SmartptrAids Implementation

Collaboration diagram for SmartptrAids Implementation:

SmartptrAids: Smart Pointer Aids SmartptrAids Implementation

9.11.1 Detailed Description

Implementation of class templates for smart pointer aids.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 61: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.11 SmartptrAids Implementation 60

Files

• file smartptrxaids.hppImplementation of smart pointer aids.

Namespaces

• namespace stm::smartptr::localImplementation namespace for the SysToMath Aids C++ Library module SmartptrAids.

Classes

• class stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >

stm::smartptr::injective_ptr implementation base class template.

• struct stm::smartptr::local::pcomp< T, Compare >

• class stm::smartptr::local::pointee_type< T >

• struct stm::smartptr::local::item_type< T, Compare >

• struct stm::smartptr::local::item_descr< T, Compare, true, true >

• struct stm::smartptr::local::item_descr< T, Compare, false, true >

• struct stm::smartptr::local::increfcount< T, Compare, refcounted, multirange >

• struct stm::smartptr::local::decrefcount< T, Compare, refcounted, multirange >

• struct stm::smartptr::local::comp_value_id< T, Compare >

• struct stm::smartptr::local::comp_id< T, Compare >

• struct stm::smartptr::local::comp_value< T, Compare >

• class stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >

• class stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >

• struct stm::smartptr::local::item_descr< T, Compare, true, false >

• struct stm::smartptr::local::item_descr< T, Compare, false, false >

• class stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >

Typedefs

• typedef long stm::smartptr::local::refcount_typeTo be compatible with boost::shared_ptr.

9.11.2 Typedef Documentation

9.11.2.1 typedef long stm::smartptr::local::refcount_type

To be compatible with boost::shared_ptr.

Definition at line 181 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 62: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.12 LoggerAids: Formatted Logging Aids 61

9.12 LoggerAids: Formatted Logging Aids

Collaboration diagram for LoggerAids: Formatted Logging Aids:

LoggerAids: Formatted Logging Aids LoggerAids ImplementationSysToMath Aids C++ Library

9.12.1 Detailed Description

Declaration of class templates for formatted logging on an output stream and on the console.

The declarations of these utilities are all contained in the namespace stm.

In the following documentation the international standard C++ISO/IEC 14882:2003(E) is cited in the formof parenthesized expressions with the same syntax and semantics as inside this international standard itself.

Files

• file loggeraids.hppDeclarations of formatted logging aids.

Modules

• LoggerAids ImplementationImplementation of utilities for formatted logging on an output stream and on the console.

Classes

• class stm::logger_baseCommon base class of all basic_logger class template specializations.

• class stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

Class template to manage formatted logging on an output stream (normally a log file) and optionally on asecond stream (normally a console) and on the system log (see stm::syslog()).

• struct stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::FmtFormat information for output streams.

• struct stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::lockerScoped locking for output streams.

• class stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >

Class template to manage formatted logging on a std::string based output stream (normally a log file)and optionally on a second std::string based stream (normally a console, by default std::cout, if templateparameter errorConsole is false (the default), or else std::cerr).

• class stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 63: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.12 LoggerAids: Formatted Logging Aids 62

Class template to manage formatted logging on a std::wstring based output stream (normally a log file) andoptionally on a second std::wstring based stream (normally a console, by default std::wcout, if templateparameter errorConsole is false (the default), or else std::wcerr).

Typedefs

• typedef basic_logger< StringT, stdIndent, lineLength, lockingPolicy > stm::basic_logger::logger_-type

This basic_logger type.

• typedef StringT stm::basic_logger::string_typeString type.

• typedef std::basic_ostream< typename string_type::value_type, typename string_type::traits_type >stm::basic_logger::ostream_type

Output stream type.

• typedef impl::char_type stm::basic_logger::char_typeCharacter type.

Enumerations

• enum {

stm::basic_logger::StdIndent = stdIndent,

stm::basic_logger::LineLength = lineLength,

stm::basic_logger::LockingPolicy = lockingPolicy }• enum stm::basic_logger::FmtFlags {

stm::basic_logger::NoFlag = impl::NoFlag,

stm::basic_logger::Indent = impl::Indent,

stm::basic_logger::NoPara = impl::NoPara,

stm::basic_logger::KeepWs = impl::KeepWs,

stm::basic_logger::AutoInd = impl::AutoInd,

stm::basic_logger::ColonInd = impl::ColonInd,

stm::basic_logger::ColonTable = impl::ColonTable,

stm::basic_logger::RiJust = impl::RiJust,

stm::basic_logger::RawPath = impl::RawPath,

stm::basic_logger::Single = impl::Single }Format information flags.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 64: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.12 LoggerAids: Formatted Logging Aids 63

Functions

• stm::basic_logger::Fmt::Fmt (word flags, word indent=StdIndent, word length=LineLength)Constructs an object with format information flags, indent and length.

• stm::basic_logger::locker::locker (const logger_type &logger)Construct a scoped lock for logger.

• stm::basic_logger::locker::∼locker ()Destructor.

• stm::basic_logger::basic_logger (const std::string &mutexName=std::string())Default constructor for a basic_logger object not to print.

• stm::basic_logger::basic_logger (const logger_type &other)Copy constructor.

• stm::basic_logger::basic_logger (ostream_type &stream, const std::string &mutex-Name=std::string())

Construct a basic_logger object to print on stream.

• stm::basic_logger::basic_logger (ostream_type &stream, ostream_type &console, const std::string&mutexName=std::string())

Construct a basic_logger object to print on stream and on console.

• stm::basic_logger::∼basic_logger ()Destroy a basic_logger object.

• bool stm::basic_logger::hasStream () constReturn true, if this basic_logger object has a stream, else false.

• void stm::basic_logger::setStream (ostream_type &stream)Configure this basic_logger object to print on stream.

• void stm::basic_logger::unsetStream ()Configure this basic_logger object to print on no stream.

• bool stm::basic_logger::hasConsole () constReturn true, if this basic_logger object has a console, else false.

• void stm::basic_logger::setConsole (ostream_type &console)Configure this basic_logger object to print on console.

• void stm::basic_logger::unsetConsole ()Configure this basic_logger object to print on no console.

• int stm::basic_logger::adjustChild ()Adjust this basic_logger object after a call to fork().

• int stm::basic_logger::operator() (Fmt streamFmt=Fmt(), Fmt consoleFmt=Fmt())

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 65: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.12 LoggerAids: Formatted Logging Aids 64

Print the contents of the string stream base of this basic_logger to the streams configured and then clear it.

• int stm::basic_logger::underline (int n, char_type ch=char_type(’=’), dword nl=1)Print character ch (default ’=’) n times to the streams configured, followed by nl times (default 1) thenewline character.

• int stm::basic_logger::paragraph (dword nl=1)Print on each configured stream as much newlines that at least nl empty lines are present after the lastrecently printed non empty line.

• static string_type stm::basic_logger::mkPath (const string_type &str)Return a copy of str, if str does not contain white space, else str quoted by ’"’ characters.

• stm::logger::logger (bool enableStream, const std::string &mutexName)Construct a logger object to print on stream (default the standard console), if enableStream is true.

• stm::logger::logger (std::ostream &stream, const std::string &mutexName)Construct a logger object to print on stream.

• stm::logger::logger (std::ostream &stream, bool enableConsole=false, const std::string &mutex-Name=std::string())

Construct a logger object to print on stream and on the standard console, if enableConsole is true (defaultfalse).

• stm::logger::logger (std::ostream &stream, std::ostream &console, const std::string &mutex-Name=std::string())

Construct a logger object to print on stream and on console.

• void stm::logger::setConsole ()Configure this logger object to print on the standard console.

• stm::wlogger::wlogger (bool enableStream, const std::string &mutexName)Construct a logger object to print on stream (default the standard console), if enableStream is true.

• stm::wlogger::wlogger (std::ostream &stream, const std::string &mutexName)Construct a logger object to print on stream.

• stm::wlogger::wlogger (std::wostream &stream, bool enableConsole=false, const std::string &mu-texName=std::string())

Construct a wlogger object to print on stream and on the standard console, if enableConsole is true (defaultfalse).

• stm::wlogger::wlogger (std::wostream &stream, std::wostream &console, const std::string &mutex-Name=std::string())

Construct a wlogger object to print on stream and on console.

• void stm::wlogger::setConsole ()Configure this wlogger object to print on the standard console.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 66: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.12 LoggerAids: Formatted Logging Aids 65

9.12.2 Typedef Documentation

9.12.2.1 template<class StringT, word stdIndent = 4, word lineLength = 79, word lockingPolicy= logger_base::NoLocking> typedef basic_logger< StringT, stdIndent, lineLength, lockingPolicy >stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::logger_type [inherited]

This basic_logger type.

Definition at line 187 of file loggeraids.hpp.

9.12.2.2 template<class StringT, word stdIndent = 4, word lineLength = 79, word lockingPolicy =logger_base::NoLocking> typedef StringT stm::basic_logger< StringT, stdIndent, lineLength, lock-ingPolicy >::string_type [inherited]

String type.

Shall be a specialization of std::basic_string.

Reimplemented from stm::local::basic_xlogger< StringT, lockingPolicy >.

Definition at line 191 of file loggeraids.hpp.

9.12.2.3 template<class StringT, word stdIndent = 4, word lineLength = 79, word lockingPolicy= logger_base::NoLocking> typedef std::basic_ostream< typename string_type::value_type, type-name string_type::traits_type > stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy>::ostream_type [inherited]

Output stream type.

Reimplemented from stm::local::basic_xlogger< StringT, lockingPolicy >.

Definition at line 200 of file loggeraids.hpp.

9.12.2.4 template<class StringT, word stdIndent = 4, word lineLength = 79, word lockingPolicy= logger_base::NoLocking> typedef impl::char_type stm::basic_logger< StringT, stdIndent, line-Length, lockingPolicy >::char_type [inherited]

Character type.

The same as string_type::value_type and ostream_type::char_type.

Reimplemented from stm::local::basic_xlogger< StringT, lockingPolicy >.

Definition at line 205 of file loggeraids.hpp.

9.12.3 Enumeration Type Documentation

9.12.3.1 template<class StringT, word stdIndent = 4, word lineLength = 79, word lockingPolicy =logger_base::NoLocking> anonymous enum [inherited]

Enumerator:

StdIndent Standard indentation.

LineLength Standard line length.

LockingPolicy Locking policy.

Definition at line 207 of file loggeraids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 67: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.12 LoggerAids: Formatted Logging Aids 66

9.12.3.2 template<class StringT, word stdIndent = 4, word lineLength = 79, word lockingPolicy =logger_base::NoLocking> enum stm::basic_logger::FmtFlags [inherited]

Format information flags.

These flag values may be bitwise ored and also combined with the syslog level flags ofstm::SyslogFlags.

Enumerator:

NoFlag No flag.Oring this value has no effect.

Indent Indentation flag causes the string to be output to be formatted using indentation of the con-tiuation lines.This flag is set imlicitly, if another flag except NoFlag, a syslog level flag or Single is set.

NoPara No paragraph flag.

KeepWs Keep white space flag.

AutoInd Auto indentation flag.

ColonInd Colon indentation flag.

ColonTable Colon table flag.

RiJust Right justification flag.

RawPath Raw path flag.

Single Single stream flag.

Definition at line 218 of file loggeraids.hpp.

9.12.4 Function Documentation

9.12.4.1 template<class StringT, word stdIndent, word lineLength, word lockingPolicy>stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::Fmt::Fmt (word flags, wordindent = StdIndent, word length = LineLength) [inline, inherited]

Constructs an object with format information flags, indent and length.

Reimplemented from stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt.

Definition at line 1081 of file loggerxaids.hpp.

9.12.4.2 template<class StringT, word stdIndent, word lineLength, word lockingPolicy>stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::locker::locker (const logger_-type & logger) [inline, inherited]

Construct a scoped lock for logger.

Definition at line 1102 of file loggerxaids.hpp.

9.12.4.3 template<class StringT, word stdIndent, word lineLength, word lockingPolicy>stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::locker::∼locker () [inline,inherited]

Destructor.

Reimplemented from stm::local::basic_xlogger< StringT, lockingPolicy >::locker.

Definition at line 1116 of file loggerxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 68: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.12 LoggerAids: Formatted Logging Aids 67

9.12.4.4 template<class StringT, word stdIndent, word lineLength, word lockingPolicy>stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::basic_logger (const std::string& mutexName = std::string ()) [inline, inherited]

Default constructor for a basic_logger object not to print.

mutexName is the name of the mutex used for system-wide locking, if applicable. If for system-widelocking mutexName is empty, the standard name ’StmLoggerLock’ is used.

Definition at line 672 of file loggerxaids.hpp.

9.12.4.5 template<class StringT, word stdIndent, word lineLength, word lockingPolicy>stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::basic_logger (const logger_-type & other) [inline, inherited]

Copy constructor.

Definition at line 691 of file loggerxaids.hpp.

9.12.4.6 template<class StringT, word stdIndent, word lineLength, word lockingPolicy>stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::basic_logger (ostream_type &stream, const std::string & mutexName = std::string ()) [inline, inherited]

Construct a basic_logger object to print on stream.

mutexName is the name of the mutex used for system-wide locking, if applicable. If for system-widelocking mutexName is empty, the standard name ’StmLoggerLock’ is used.

Definition at line 714 of file loggerxaids.hpp.

9.12.4.7 template<class StringT, word stdIndent, word lineLength, word lockingPolicy>stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::basic_logger (ostream_type& stream, ostream_type & console, const std::string & mutexName = std::string ())[inline, inherited]

Construct a basic_logger object to print on stream and on console.

mutexName is the name of the mutex used for system-wide locking, if applicable. If for system-widelocking mutexName is empty, the standard name ’StmLoggerLock’ is used.

Definition at line 734 of file loggerxaids.hpp.

9.12.4.8 template<class StringT, word stdIndent, word lineLength, word lockingPolicy>stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::∼basic_logger () [inline,inherited]

Destroy a basic_logger object.

Definition at line 754 of file loggerxaids.hpp.

References stm::local::basic_xlogger< StringT, lockingPolicy >::destroySync().

9.12.4.9 template<class StringT, word stdIndent, word lineLength, word lockingPolicy>bool stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::hasStream () const[inline, inherited]

Return true, if this basic_logger object has a stream, else false.

Definition at line 768 of file loggerxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 69: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.12 LoggerAids: Formatted Logging Aids 68

9.12.4.10 template<class StringT, word stdIndent, word lineLength, word lockingPolicy> voidstm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::setStream (ostream_type &stream) [inline, inherited]

Configure this basic_logger object to print on stream.

Definition at line 782 of file loggerxaids.hpp.

Referenced by stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >::logger().

9.12.4.11 template<class StringT, word stdIndent, word lineLength, word lockingPolicy> voidstm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::unsetStream () [inline,inherited]

Configure this basic_logger object to print on no stream.

Definition at line 803 of file loggerxaids.hpp.

References stm::local::basic_xlogger< StringT, lockingPolicy >::Stream::ColonInactive,stm::local::basic_xlogger< StringT, lockingPolicy >::Stream::colonState, stm::local::basic_xlogger<StringT, lockingPolicy >::Stream::nls, stm::local::basic_xlogger< StringT, lockingPolicy >::output, andstm::local::basic_xlogger< StringT, lockingPolicy >::Stream::pStream.

9.12.4.12 template<class StringT, word stdIndent, word lineLength, word lockingPolicy>bool stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::hasConsole () const[inline, inherited]

Return true, if this basic_logger object has a console, else false.

Definition at line 823 of file loggerxaids.hpp.

References stm::local::basic_xlogger< StringT, lockingPolicy >::output, and stm::local::basic_xlogger<StringT, lockingPolicy >::Stream::pStream.

9.12.4.13 template<class StringT, word stdIndent, word lineLength, word lockingPolicy> voidstm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::setConsole (ostream_type &console) [inline, inherited]

Configure this basic_logger object to print on console.

Definition at line 837 of file loggerxaids.hpp.

References stm::local::basic_xlogger< StringT, lockingPolicy >::Stream::ColonInactive,stm::local::basic_xlogger< StringT, lockingPolicy >::Stream::colonState, stm::local::basic_xlogger<StringT, lockingPolicy >::Stream::nls, stm::local::basic_xlogger< StringT, lockingPolicy >::output, andstm::local::basic_xlogger< StringT, lockingPolicy >::Stream::pStream.

Referenced by stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >::logger().

9.12.4.14 template<class StringT, word stdIndent, word lineLength, word lockingPolicy> voidstm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::unsetConsole () [inline,inherited]

Configure this basic_logger object to print on no console.

Definition at line 858 of file loggerxaids.hpp.

References stm::local::basic_xlogger< StringT, lockingPolicy >::Stream::ColonInactive,stm::local::basic_xlogger< StringT, lockingPolicy >::Stream::colonState, stm::local::basic_xlogger<

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 70: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.12 LoggerAids: Formatted Logging Aids 69

StringT, lockingPolicy >::Stream::nls, stm::local::basic_xlogger< StringT, lockingPolicy >::output, andstm::local::basic_xlogger< StringT, lockingPolicy >::Stream::pStream.

9.12.4.15 template<class StringT, word stdIndent, word lineLength, word lockingPolicy> intstm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::adjustChild () [inline,inherited]

Adjust this basic_logger object after a call to fork().

This method is intended to be called after a fork system call by the child process in order to adjust thereference count of the named mutex used to implement system-wide locking. Returns 0 on success, else-1 with errno set appropriately.

Definition at line 877 of file loggerxaids.hpp.

References stm::local::basic_xlogger< StringT, lockingPolicy >::adjustSync().

9.12.4.16 template<class StringT, word stdIndent, word lineLength, word lockingPolicy> intstm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::operator() (Fmt streamFmt =Fmt (), Fmt consoleFmt = Fmt ()) [inline, inherited]

Print the contents of the string stream base of this basic_logger to the streams configured and then clear it.

For printing on the stream streamFmt and for printing on the console consoleFmt is used as format infor-mation. If one of the Fmt objects has a syslog level defined (see stm::SyslogFlags) in its flags member,the content is also printed to the system log (see stm::syslog()). The operation is ended on the first erroroccurred in which case a negative value is returned, or else the number of characters written to the laststream configured not counting trailing white space. If no stream is configured, 0 is returned.

Definition at line 891 of file loggerxaids.hpp.

References stm::local::basic_xlogger< StringT, lockingPolicy >::clearNls(), stm::local::basic_xlogger<StringT, lockingPolicy >::Stream::ColonInactive, stm::basic_logger< StringT, stdIndent, lineLength,lockingPolicy >::ColonInd, stm::local::basic_xlogger< StringT, lockingPolicy >::Stream::ColonScan,stm::local::basic_xlogger< StringT, lockingPolicy >::Stream::colonState, stm::find_token_end(),stm::find_trim_back(), stm::find_trim_front(), stm::local::basic_xlogger< StringT, lockingPolicy>::Fmt::flags_, stm::local::basic_xlogger< StringT, lockingPolicy >::Stream::fmt, stm::basic_logger<StringT, stdIndent, lineLength, lockingPolicy >::Indent, stm::local::basic_xlogger< StringT, lockingPol-icy >::Stream::index, stm::LogLevelMask, stm::local::basic_xlogger< StringT, lockingPolicy >::output,stm::local::basic_xlogger< StringT, lockingPolicy >::printch(), stm::local::basic_xlogger< StringT,lockingPolicy >::Stream::pStream, stm::local::basic_xlogger< StringT, lockingPolicy >::Stream::ret,stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::Single, stm::local::basic_xlogger<StringT, lockingPolicy >::Streams, stm::syslog(), stm::local::basic_xlogger< StringT, lockingPolicy>::tprint(), and stm::local::basic_xlogger< StringT, lockingPolicy >::Stream::wrapped.

9.12.4.17 template<class StringT, word stdIndent, word lineLength, word lockingPolicy> intstm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::underline (int n, char_typech = char_type (’=’), dword nl = 1) [inline, inherited]

Print character ch (default ’=’) n times to the streams configured, followed by nl times (default 1) thenewline character.

The operation is ended on the first error occurred in which case -1 is returned, or else n. Also, if no streamis configured, n is returned.

Definition at line 990 of file loggerxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 71: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.12 LoggerAids: Formatted Logging Aids 70

References stm::local::basic_xlogger< StringT, lockingPolicy >::clearNls(), and stm::local::basic_-xlogger< StringT, lockingPolicy >::printch().

9.12.4.18 template<class StringT, word stdIndent, word lineLength, word lockingPolicy> intstm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::paragraph (dword nl = 1)[inline, inherited]

Print on each configured stream as much newlines that at least nl empty lines are present after the lastrecently printed non empty line.

The operation is ended on the first error occurred in which case a negative value is returned, or else thenumber of newlines written to the last stream configured. If no stream is configured, 0 is returned.

Definition at line 1019 of file loggerxaids.hpp.

References stm::local::basic_xlogger< StringT, lockingPolicy >::Stream::nls, stm::local::basic_xlogger<StringT, lockingPolicy >::output, and stm::local::basic_xlogger< StringT, lockingPolicy >::Streams.

9.12.4.19 template<class StringT, word stdIndent, word lineLength, word lockingPolicy> StringTstm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::mkPath (const string_type &str) [inline, static, inherited]

Return a copy of str, if str does not contain white space, else str quoted by ’"’ characters.

Definition at line 1048 of file loggerxaids.hpp.

9.12.4.20 template<word stdIndent, word lineLength, bool errorConsole, word lockingPolicy>stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >::logger (bool enableStream,const std::string & mutexName) [inline, inherited]

Construct a logger object to print on stream (default the standard console), if enableStream is true.

mutexName is the name of the mutex used for system-wide locking, if applicable. If for system-widelocking mutexName is empty, the standard name ’StmLoggerLock’ is used.

Definition at line 1157 of file loggerxaids.hpp.

References stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::setStream().

9.12.4.21 template<word stdIndent, word lineLength, bool errorConsole, word lockingPolicy>stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >::logger (std::ostream & stream,const std::string & mutexName) [inline, inherited]

Construct a logger object to print on stream.

mutexName is the name of the mutex used for system-wide locking, if applicable. If for system-widelocking mutexName is empty, the standard name ’StmLoggerLock’ is used.

Definition at line 1181 of file loggerxaids.hpp.

9.12.4.22 template<word stdIndent, word lineLength, bool errorConsole, word lockingPolicy>stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >::logger (std::ostream & stream,bool enableConsole = false, const std::string & mutexName = std::string ()) [inline,inherited]

Construct a logger object to print on stream and on the standard console, if enableConsole is true (defaultfalse).

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 72: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.12 LoggerAids: Formatted Logging Aids 71

mutexName is the name of the mutex used for system-wide locking, if applicable. If for system-widelocking mutexName is empty, the standard name ’StmLoggerLock’ is used.

Definition at line 1201 of file loggerxaids.hpp.

References stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::setConsole().

9.12.4.23 template<word stdIndent, word lineLength, bool errorConsole, word lockingPolicy>stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >::logger (std::ostream & stream,std::ostream & console, const std::string & mutexName = std::string ()) [inline,inherited]

Construct a logger object to print on stream and on console.

mutexName is the name of the mutex used for system-wide locking, if applicable. If for system-widelocking mutexName is empty, the standard name ’StmLoggerLock’ is used.

Definition at line 1227 of file loggerxaids.hpp.

9.12.4.24 template<word stdIndent, word lineLength, bool errorConsole, word lockingPolicy>void stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >::setConsole () [inline,inherited]

Configure this logger object to print on the standard console.

Definition at line 1248 of file loggerxaids.hpp.

Referenced by stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >::wlogger().

9.12.4.25 template<word stdIndent, word lineLength, bool errorConsole, word lockingPolicy>stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >::wlogger (bool enableStream,const std::string & mutexName) [inline, inherited]

Construct a logger object to print on stream (default the standard console), if enableStream is true.

mutexName is the name of the mutex used for system-wide locking, if applicable. If for system-widelocking mutexName is empty, the standard name ’StmLoggerLock’ is used.

Definition at line 1296 of file loggerxaids.hpp.

References stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >::setStream().

9.12.4.26 template<word stdIndent, word lineLength, bool errorConsole, word lockingPolicy>stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >::wlogger (std::ostream &stream, const std::string & mutexName) [inline, inherited]

Construct a logger object to print on stream.

mutexName is the name of the mutex used for system-wide locking, if applicable. If for system-widelocking mutexName is empty, the standard name ’StmLoggerLock’ is used.

Definition at line 1320 of file loggerxaids.hpp.

9.12.4.27 template<word stdIndent, word lineLength, bool errorConsole, word lockingPolicy>stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >::wlogger (std::wostream &stream, bool enableConsole = false, const std::string & mutexName = std::string ())[inline, inherited]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 73: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.13 SmartptrAids: Smart Pointer Aids 72

Construct a wlogger object to print on stream and on the standard console, if enableConsole is true (defaultfalse).

mutexName is the name of the mutex used for system-wide locking, if applicable. If for system-widelocking mutexName is empty, the standard name ’StmLoggerLock’ is used.

Definition at line 1340 of file loggerxaids.hpp.

References stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >::setConsole().

9.12.4.28 template<word stdIndent, word lineLength, bool errorConsole, word lockingPolicy>stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >::wlogger (std::wostream& stream, std::wostream & console, const std::string & mutexName = std::string ())[inline, inherited]

Construct a wlogger object to print on stream and on console.

mutexName is the name of the mutex used for system-wide locking, if applicable. If for system-widelocking mutexName is empty, the standard name ’StmLoggerLock’ is used.

Definition at line 1366 of file loggerxaids.hpp.

9.12.4.29 template<word stdIndent, word lineLength, bool errorConsole, word lockingPolicy>void stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >::setConsole ()[inline, inherited]

Configure this wlogger object to print on the standard console.

Definition at line 1387 of file loggerxaids.hpp.

9.13 SmartptrAids: Smart Pointer Aids

Collaboration diagram for SmartptrAids: Smart Pointer Aids:

SmartptrAids: Smart Pointer Aids

SmartptrAids Implementation

SmartptrAids Test

SysToMath Aids C++ Library

9.13.1 Detailed Description

Declaration of class templates for smart pointer aids.

The declarations are all contained in the namespace stm::smartptr. They provide the class templateinjective_ptr for smart pointers pointing to unique constant objects managed by a static repository togetherwith its associated container class template injective_set as well as the traits class templates injective andbijective. For convenience these class templates names are lifted to namespace stm.

As the smart pointer class templates injective_ptr provides boost serialization support, the neededboost::archive and boost::serialization header files are included. Because boost serialization requiresthat all boost::archive header files are included before any boost::serialization header files, it is recom-mended to include this header file after all user specific boost::archive headers and before all user specificboost::serialization headers.

In the following class template documentation the international standard C++ISO/IEC 14882:2003(E) iscited in the form of parenthesized expressions with the same syntax and semantics as inside this interna-tional standard itself.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 74: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.13 SmartptrAids: Smart Pointer Aids 73

Files

• file smartptraids.hppDeclarations of smart pointer aids.

Namespaces

• namespace stm::smartptrNamespace for all smart pointer aids class templates.

Modules

• SmartptrAids ImplementationImplementation of class templates for smart pointer aids.

• SmartptrAids TestDemonstration of the usage and tests of the implementation of the SysToMath Aids C++ Library moduleSmartptrAids.

Classes

• struct stm::smartptr::policy< Flags >

Class template serving as Policy template parameter for class templates injective_ptr and injective_set.

• struct stm::smartptr::MakeSurjective< Policy >

Class template serving as wrapper of template parameter Policy to ensure the surjective policy property.

• struct stm::smartptr::MakeMultirange< Policy >

Class template serving as wrapper of template parameter Policy to ensure the multirange policy property.

• class stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >

The class template injective_ptr is a smart pointer pointing to unique constant objects of element type Tstored using a static repository.

• class stm::smartptr::injective_set< T, Compare, Allocator, Policy >

The class template injective_set is a container of unique constant objects of value type T stored wrapping aspecific range of the static repository of an injective_ptr<T, Compare, Allocator, Policy> object.

• class stm::smartptr::injective< T, Compare, Allocator, Policy >

The traits class template injective combines the class template injective_ptr and its associated class templateinjective_set having either the surjective or the not surjective policy property.

• class stm::smartptr::bijective< T, Compare, Allocator, Policy >

The traits class template bijective combines the class template injective_ptr and its associated class templateinjective_set having the surjective policy property.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 75: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.13 SmartptrAids: Smart Pointer Aids 74

Policy Flags

The policy flag bits are bitwise orable.

• const stm::dword stm::smartptr::Surjective = 0x00000001Surjective policy flag.

• const stm::dword stm::smartptr::Multirange = 0x00000002Multirange policy flag.

Functions

• template<class T, class Compare, class Allocator, class Policy>

bool stm::smartptr::operator== (const injective_ptr< T, Compare, Allocator, Policy > &ptr1, constinjective_ptr< T, Compare, Allocator, Policy > &ptr2)

Returns true, if both ptr1 and ptr2 are empty or ptr1 and ptr2 are not empty and point to elements beingequivalent under the equivalence relation induced by Compare, else false.

• template<class T, class Compare, class Allocator, class Policy>

bool stm::smartptr::operator!= (const injective_ptr< T, Compare, Allocator, Policy > &ptr1, constinjective_ptr< T, Compare, Allocator, Policy > &ptr2)

Returns true, if either ptr1 or ptr2 is not empty and ptr1 or ptr2 is empty or else point to elements beingnon-equivalent under the equivalence relation induced by Compare, else false.

• template<class T, class Compare, class Allocator, class Policy>

bool stm::smartptr::operator< (const injective_ptr< T, Compare, Allocator, Policy > &ptr1, constinjective_ptr< T, Compare, Allocator, Policy > &ptr2)

Returns a bool value such that operator< is a strict weak ordering as decribed in (25.3) and that under theequivalence relation.

• template<class T, class Compare, class Allocator, class Policy>

void stm::smartptr::swap (injective_ptr< T, Compare, Allocator, Policy > &ptr1, injective_ptr< T,Compare, Allocator, Policy > &ptr2)

Exchanges the contents of the injective_ptr objects ptr1 and ptr2.

• template<class T, class Compare, class Allocator, class Policy>

const T ∗ stm::smartptr::get_pointer (const injective_ptr< T, Compare, Allocator, Policy > &ptr)Returns a constant pointer to the element pointed to by the injective_ptr object ptr, if ptr is not be empty,else the null pointer.

• template<class OStreamT, class T, class Compare, class Allocator, class Policy>

OStreamT & stm::smartptr::operator<< (OStreamT &os, const injective_ptr< T, Compare, Alloca-tor, Policy > &ptr)

Inserts a string representation of the address of the element pointed to by ptr into the output stream os.

9.13.2 Function Documentation

9.13.2.1 template<class T, class Compare, class Allocator, class Policy> boolstm::smartptr::operator== (const injective_ptr< T, Compare, Allocator, Policy > & ptr1, constinjective_ptr< T, Compare, Allocator, Policy > & ptr2) [inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 76: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.13 SmartptrAids: Smart Pointer Aids 75

Returns true, if both ptr1 and ptr2 are empty or ptr1 and ptr2 are not empty and point to elements beingequivalent under the equivalence relation induced by Compare, else false.

Never throws.

Definition at line 2344 of file smartptrxaids.hpp.

References ptr1, and ptr2.

9.13.2.2 template<class T, class Compare, class Allocator, class Policy> boolstm::smartptr::operator!= (const injective_ptr< T, Compare, Allocator, Policy > & ptr1, constinjective_ptr< T, Compare, Allocator, Policy > & ptr2) [inline]

Returns true, if either ptr1 or ptr2 is not empty and ptr1 or ptr2 is empty or else point to elements beingnon-equivalent under the equivalence relation induced by Compare, else false.

Never throws.

Definition at line 2355 of file smartptrxaids.hpp.

References ptr1, and ptr2.

9.13.2.3 template<class T, class Compare, class Allocator, class Policy> boolstm::smartptr::operator< (const injective_ptr< T, Compare, Allocator, Policy > & ptr1, constinjective_ptr< T, Compare, Allocator, Policy > & ptr2) [inline]

Returns a bool value such that operator< is a strict weak ordering as decribed in (25.3) and that under theequivalence relation.

! (ptr1 < ptr2) && ! (ptr2 < ptr1)

defined by operator<, two injective_ptr instances ptr1 and ptr2 are equivalent if and only if they point tovalues being equivalent under the equivalence relation induced by Compare or are both empty. An emptyinjective_ptr object is less than any non-empty injective_ptr object. This allows injective_ptr objects to beused as keys in associative containers. Never throws.

Definition at line 2366 of file smartptrxaids.hpp.

References ptr1, and ptr2.

9.13.2.4 template<class T, class Compare, class Allocator, class Policy> void stm::smartptr::swap(injective_ptr< T, Compare, Allocator, Policy > & ptr1, injective_ptr< T, Compare, Allocator, Policy> & ptr2) [inline]

Exchanges the contents of the injective_ptr objects ptr1 and ptr2.

Never throws.

Referenced by stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::swap(),stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::swap(),stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::swap(),stm::readablefile< NameT >::swap(), stm::integral_set< IntegralRangeT, RangeSetT >::swap(),and stm::integral_range< IntegralT, minVal, maxVal >::swap().

9.13.2.5 template<class T, class Compare, class Allocator, class Policy> const T ∗stm::smartptr::get_pointer (const injective_ptr< T, Compare, Allocator, Policy > & ptr)[inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 77: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.14 BinMsg: Abstract Binary Message Model 76

Returns a constant pointer to the element pointed to by the injective_ptr object ptr, if ptr is not be empty,else the null pointer.

Never throws.

Definition at line 2381 of file smartptrxaids.hpp.

References stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::get().

9.13.2.6 template<class OStreamT, class T, class Compare, class Allocator, class Policy> OS-treamT & stm::smartptr::operator<< (OStreamT & os, const injective_ptr< T, Compare, Allo-cator, Policy > & ptr) [inline]

Inserts a string representation of the address of the element pointed to by ptr into the output stream os.

Definition at line 2398 of file smartptrxaids.hpp.

References stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::get().

9.13.3 Variable Documentation

9.13.3.1 const stm::dword stm::smartptr::Surjective = 0x00000001

Surjective policy flag.

Definition at line 134 of file smartptraids.hpp.

9.13.3.2 const stm::dword stm::smartptr::Multirange = 0x00000002

Multirange policy flag.

Definition at line 135 of file smartptraids.hpp.

9.14 BinMsg: Abstract Binary Message Model

Collaboration diagram for BinMsg: Abstract Binary Message Model:

BinMsg ImplementationBinMsg: Abstract Binary Message ModelSysToMath Tool Aids C++ Library

9.14.1 Detailed Description

Collection of some abstract binary message model related utilities.

The declarations of these utilities are all contained in the namespace stm::tools.

Files

• file binmsg.hppDeclarations for the abstract binary message model.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 78: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.15 CtAids: ClearCase cleartool Aids 77

Modules

• BinMsg ImplementationImplementation of the abstract binary message model related utilities.

Classes

• class stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >

Base message context type which shall be a direct or indirect public base class of its template parameterContextT.

• class stm::tools::BaseMessage< ContextT >

Abstract base class of message types for scanning from its byte_iterator_range base class object.

• class stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >

Binary message context type.

• class stm::tools::BinMessage< ContextT >

Binary message scanning from a stm::byte_iterator_range.

9.15 CtAids: ClearCase cleartool Aids

Collaboration diagram for CtAids: ClearCase cleartool Aids:

CtAids ImplementationCtAids: ClearCase cleartool AidsSysToMath Tool Aids C++ Library

9.15.1 Detailed Description

Collection of some ClearCase cleartool related utilities.

The declarations of these utilities are all contained in the namespace stm::tools.

Files

• file ctaids.hppDeclarations for ClearCase cleartool aids.

Namespaces

• namespace stm::toolsNamespace for the SysToMath Tool Aids C++ Library modules.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 79: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.16 DspMsg: DSP Message Model 78

Modules

• CtAids ImplementationImplementation of ClearCase cleartool related utilities.

Classes

• class stm::tools::CtMain ClearCase cleartool aids class.

• class stm::tools::CtOperationClearCase cleartool operation class.

• class stm::tools::CtExceptionsClearCase cleartool exceptions class.

9.16 DspMsg: DSP Message Model

Collaboration diagram for DspMsg: DSP Message Model:

DspMsg ImplementationSysToMath Tool Aids C++ Library DspMsg: DSP Message Model

9.16.1 Detailed Description

Collection of some DSP message model related utilities.

The declarations of these utilities are all contained in the namespace stm::tools.

Files

• file dspmsg.hppDeclarations for the DSP message model.

Modules

• DspMsg ImplementationImplementation of the DSP message model related utilities.

Classes

• class stm::tools::DspMessage< ContextT >

DSP message contained in a binary message.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 80: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.17 BinMsg Implementation 79

9.17 BinMsg Implementation

Collaboration diagram for BinMsg Implementation:

BinMsg Implementation CtAids Implementationstm::tools::localBinMsg: Abstract Binary Message Model

9.17.1 Detailed Description

Implementation of the abstract binary message model related utilities.

Files

• file xbinmsg.hppImplementation of the abstract binary message model.

Namespaces

• namespace stm::tools::localImplementation namespace for the SysToMath Toll Aids C++ Library modules.

Classes

• class stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >

stm::tools::BaseMessageContext implementation base class template.

• class stm::tools::local::xBaseMessage< ContextT >

stm::tools::BaseMessage implementation base class template.

• class stm::tools::local::xBinMessageGapstm::tools::BinMessageContext::Gap implementation base class.

• class stm::tools::local::xBinMessageContext< ContextT >

stm::tools::BinMessageContext implementation base class template.

• class stm::tools::local::xBinMessage< ContextT >

stm::tools::BinMessage implementation base class template.

9.18 CtAids Implementation

Collaboration diagram for CtAids Implementation:

BinMsg ImplementationCtAids Implementation stm::tools::localCtAids: ClearCase cleartool Aids

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 81: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.19 DspMsg Implementation 80

9.18.1 Detailed Description

Implementation of ClearCase cleartool related utilities.

Files

• file xctaids.hppImplementation of ClearCase cleartool aids.

• file ctaids.cppImplementation of ClearCase cleartool utilities.

Namespaces

• namespace stm::tools::localImplementation namespace for the SysToMath Toll Aids C++ Library modules.

Classes

• class stm::tools::local::xArgListstm::tools::Ct::ArgList implementation base class.

• class stm::tools::local::xCtstm::tools::Ct implementation base class.

• class stm::tools::local::xCtOperationstm::tools::CtOperation implementation base class.

9.19 DspMsg Implementation

Collaboration diagram for DspMsg Implementation:

DspMsg ImplementationDspMsg: DSP Message Model

9.19.1 Detailed Description

Implementation of the DSP message model related utilities.

Files

• file xdspmsg.hppImplementation of the DSP message model.

• file dspmsg.cpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 82: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.20 LvdsPacket Implementation 81

Implementation of the DSP message model.

Classes

• class stm::tools::local::xTraceHeaderstm::tools::DspMessage::TraceHeader implementation base class.

• class stm::tools::local::xDspMessage< ContextT >

stm::tools::DspMessage implementation base class template.

Functions

• stm::tools::local::xTraceHeader::xTraceHeader (const byte_iterator_range &range)

9.19.2 Function Documentation

9.19.2.1 stm::tools::local::xTraceHeader::xTraceHeader (const byte_iterator_range & range)[protected, inherited]

Definition at line 100 of file dspmsg.cpp.

References stm::tools::local::xTraceHeader::BbtOpCode, stm::tools::local::xTraceHeader::bfn_-, stm::tools::local::xTraceHeader::DdtOpCode, stm::tools::local::xTraceHeader::frameChips_-, stm::tools::local::xTraceHeader::Length, stm::tools::local::xTraceHeader::opCode_-, stm::tools::local::xTraceHeader::payloadLength_, stm::tools::local::xTraceHeader::size_-, stm::tools::local::xTraceHeader::userFrameNo_, and stm::tools::local::xTraceHeader::userSlotNo_.

9.20 LvdsPacket Implementation

Collaboration diagram for LvdsPacket Implementation:

LvdsPacket ImplementationLvdsPacket: LVDS Packet Model

9.20.1 Detailed Description

Implementation of the LVDS packet model related utilities.

Files

• file xlvdspacket.hppImplementation of the LVDS packet model.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 83: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.21 McBspMsg Implementation 82

Classes

• class stm::tools::local::xLvdsPacket< ContextT >

stm::tools::LvdsPacket implementation base class template.

9.21 McBspMsg Implementation

Collaboration diagram for McBspMsg Implementation:

McBspMsg ImplementationMcBspMsg: McBSP Message Model

9.21.1 Detailed Description

Implementation of the McBSP message model related utilities.

Files

• file xmcbspmsg.hppImplementation of the McBSP message model.

Classes

• class stm::tools::local::xMcBspMessage< ContextT >

stm::tools::McBspMessage implementation base class template.

Variables

• static std::string stm::tools::local::xMcBspMessage::type_ = "McBSP message"

9.21.2 Variable Documentation

9.21.2.1 template<class ContextT> std::string stm::tools::local::xMcBspMessage< ContextT>::type_ = "McBSP message" [inline, static, protected, inherited]

Definition at line 285 of file xmcbspmsg.hpp.

Referenced by stm::tools::McBspMessage< ContextT >::Type(), and stm::tools::McBspMessage< Con-textT >::type().

9.22 MsgTimestamp Implementation

Collaboration diagram for MsgTimestamp Implementation:

MsgTimestamp: Message Timestamp Model MsgTimestamp Implementation

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 84: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.23 PrintkBinMsg Implementation 83

9.22.1 Detailed Description

Implementation of the message timestamp model related utilities.

Files

• file xmsgtimestamp.hppImplementation of the message timestamp model.

Classes

• class stm::tools::local::xMsgTimestampstm::tools::MsgTimestamp implementation base class.

9.23 PrintkBinMsg Implementation

Collaboration diagram for PrintkBinMsg Implementation:

PrintkBinMsg ImplementationPrintkBinMsg: PrintkBin Message Model

9.23.1 Detailed Description

Implementation of the PrintkBin message model related utilities.

Files

• file xprintkbinmsg.hppImplementation of the PrintkBin message model.

Classes

• class stm::tools::local::xPrintkBinMessage< ContextT >

Variables

• static std::string stm::tools::local::xPrintkBinMessage::type_ = "PrintkBin message"

9.23.2 Variable Documentation

9.23.2.1 template<class ContextT> std::string stm::tools::local::xPrintkBinMessage< ContextT>::type_ = "PrintkBin message" [inline, static, protected, inherited]

Definition at line 304 of file xprintkbinmsg.hpp.

Referenced by stm::tools::PrintkBinMessage< ContextT >::Type(), and stm::tools::PrintkBinMessage<ContextT >::type().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 85: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.24 LvdsPacket: LVDS Packet Model 84

9.24 LvdsPacket: LVDS Packet Model

Collaboration diagram for LvdsPacket: LVDS Packet Model:

LvdsPacket ImplementationSysToMath Tool Aids C++ Library LvdsPacket: LVDS Packet Model

9.24.1 Detailed Description

Collection of some LVDS Packet model related utilities.

The declarations of these utilities are all contained in the namespace stm::tools.

Files

• file lvdspacket.hppDeclarations for the LVDS packet model.

Modules

• LvdsPacket ImplementationImplementation of the LVDS packet model related utilities.

Classes

• class stm::tools::LvdsPacket< ContextT >

LVDS packet contained in a binary message.

9.25 McBspMsg: McBSP Message Model

Collaboration diagram for McBspMsg: McBSP Message Model:

McBspMsg ImplementationMcBspMsg: McBSP Message ModelSysToMath Tool Aids C++ Library

9.25.1 Detailed Description

Collection of some McBSP message model related utilities.

The declarations of these utilities are all contained in the namespace stm::tools.

Files

• file mcbspmsg.hppDeclarations for the McBSP message model.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 86: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.26 MsgTimestamp: Message Timestamp Model 85

Modules

• McBspMsg ImplementationImplementation of the McBSP message model related utilities.

Classes

• class stm::tools::McBspMessage< ContextT >

McBSP message scanning from a BaseMessage’s byte_iterator_range.

9.26 MsgTimestamp: Message Timestamp Model

Collaboration diagram for MsgTimestamp: Message Timestamp Model:

MsgTimestamp: Message Timestamp Model MsgTimestamp ImplementationSysToMath Tool Aids C++ Library

9.26.1 Detailed Description

Collection of some message timestamp model related utilities.

The declarations of these utilities are all contained in the namespace stm::tools.

Files

• file msgtimestamp.hppDeclarations for the message timestamp model.

Modules

• MsgTimestamp ImplementationImplementation of the message timestamp model related utilities.

Classes

• class stm::tools::MsgTimestampMessage timestamp type.

9.27 PrintkBinMsg: PrintkBin Message Model

Collaboration diagram for PrintkBinMsg: PrintkBin Message Model:

PrintkBinMsg ImplementationPrintkBinMsg: PrintkBin Message ModelSysToMath Tool Aids C++ Library

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 87: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.28 SysToMath Tool Aids C++ Library 86

9.27.1 Detailed Description

Collection of some PrintkBin message model related utilities.

The declarations of these utilities are all contained in the namespace stm::tools.

Files

• file printkbinmsg.hppDeclarations for the PrintkBin message model.

Modules

• PrintkBinMsg ImplementationImplementation of the PrintkBin message model related utilities.

Classes

• class stm::tools::PrintkBinMessage< ContextT >

PrintkBin message scanning from a the BaseMessage’s byte_iterator_range.

9.28 SysToMath Tool Aids C++ Library

Collaboration diagram for SysToMath Tool Aids C++ Library:

BinMsg: Abstract Binary Message Model

MsgTimestamp: Message Timestamp Model

PrintkBinMsg: PrintkBin Message Model

CtAids: ClearCase cleartool Aids

McBspMsg: McBSP Message Model

SysToMath Tool Aids C++ Library

LvdsPacket: LVDS Packet Model

DspMsg: DSP Message Model

9.28.1 Detailed Description

SysToMath Tool Aids C++ Library (stmtoolaids).

The SysToMath Tool Aids C++ Library consists of several library objects providing various macros, func-tions, function templates, classes and class templates facilitating some tool related computational tasks.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 88: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.29 DivAids Test 87

Files

• file toolaidsconfig.hppManagement of library generation and of automatic library choice for the SysToMath Tool Aids C++ librarystmaids.

• file toolaids.hppCentral include file for SysToMath Tool Aids C++ library.

Modules

• BinMsg: Abstract Binary Message ModelCollection of some abstract binary message model related utilities.

• CtAids: ClearCase cleartool AidsCollection of some ClearCase cleartool related utilities.

• DspMsg: DSP Message ModelCollection of some DSP message model related utilities.

• LvdsPacket: LVDS Packet ModelCollection of some LVDS Packet model related utilities.

• McBspMsg: McBSP Message ModelCollection of some McBSP message model related utilities.

• MsgTimestamp: Message Timestamp ModelCollection of some message timestamp model related utilities.

• PrintkBinMsg: PrintkBin Message ModelCollection of some PrintkBin message model related utilities.

9.29 DivAids Test

Collaboration diagram for DivAids Test:

DivAids TestDivAids: Diverse Aids

9.29.1 Detailed Description

Demonstration of the usage and tests of the implementation of the SysToMath Aids C++ Library moduleDivAids.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 89: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.30 FilesysAids Test 88

Files

• file divaidstest.cppImplementation of a console program demostrating the usage and testing the implementation of the Sys-ToMath Aids C++ Library module DivAids.

Functions

• int main (int argc, char ∗argv[ ])

Variables

• const char ∗ Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath"• const char ∗ Version = "1.10-r347"

9.29.2 Function Documentation

9.29.2.1 int main (int argc, char ∗ argv[ ])

Definition at line 81 of file divaidstest.cpp.

9.29.3 Variable Documentation

9.29.3.1 const char∗ Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath"

Examples:

divaidstest.cpp, filesystest.cpp, gencrctest.cpp, smartptrtest.cpp, and sudoku.cpp.

Definition at line 74 of file divaidstest.cpp.

Referenced by main().

9.29.3.2 const char∗ Version = "1.10-r347"

Examples:

divaidstest.cpp, filesystest.cpp, gencrctest.cpp, smartptrtest.cpp, and sudoku.cpp.

Definition at line 75 of file divaidstest.cpp.

Referenced by main().

9.30 FilesysAids Test

Collaboration diagram for FilesysAids Test:

FilesysAids TestFilesysAids: File System Aids

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 90: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.30 FilesysAids Test 89

9.30.1 Detailed Description

Demonstration of the usage and tests of the implementation of the SysToMath Aids C++ Library moduleFilesysAids.

Files

• file filesystest.cppImplementation of a console program demostrating the usage and testing the implementation of the Sys-ToMath Aids C++ Library module FilesysAids.

Functions

• int main (int argc, char ∗argv[ ])

Variables

• const char ∗ Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath"• const char ∗ Version = "1.10-r347"• static const char ∗ man [ ]

Man page.

9.30.2 Function Documentation

9.30.2.1 int main (int argc, char ∗ argv[ ])

Definition at line 112 of file filesystest.cpp.

References Copyright, man, stm::filespeclist::NoBraceExpansion, stm::filespec::NoBracketExpr,stm::filespec::NoCharClass, stm::filespec::NoFlags, stm::filespeclist::SingleSpec, stmCmdLineCre-ate(), stmCmdLineGetArg(), stmCmdLineGetArgCount(), stmCmdLineGetCurrentArgIndex(), stm-CmdLineGetCurrentOptionArg(), stmCmdLineGetCurrentOptionName(), stmCmdLineGetErrbuf(),stmCmdLineGetFirstOptionId(), stmCmdLineGetNextOptionId(), stmCmdLineGetOpterr, stmCmd-LineGetProg(), StmCmdLineOptionArgError, stmCmdLinePrintfErrbuf(), stmCmdLineSetOpterr,StmCmdOptSpecOnlyOption, StmCmdOptSpecRequiresArg, StmDebugAidsErrmsg, StmElements,StmId, stmPrintManual(), stmPrintSynopsis(), StmRectrlTry, stm::filespec::UseExtRegularExpr,stm::filespec::UseMultipleDirOperator, and Version.

9.30.3 Variable Documentation

9.30.3.1 const char∗ Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath"

Definition at line 74 of file filesystest.cpp.

9.30.3.2 const char∗ Version = "1.10-r347"

Definition at line 75 of file filesystest.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 91: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.31 GenCRC Test 90

9.30.3.3 const char∗ man[ ] [static]

Initial value:

{"NAME "," filesystest - test classes and class templates of stm/filesysaids.hpp "," ","SYNOPSIS "," filesystest [(--option=<flag>)...] [--stem=<spec>] <spec> "," filesystest --help "," filesystest --version "," ","DESCRIPTION "," <flag> is one of "," NoCharClass "," NoBracketExpr "," UseExtRegularExpr "," UseMultipleDirOperator "," NoBraceExpansion "," SingleSpec "," NoDirectories "," NoPlainFiles "," StoreRelative "}

Man page.

Definition at line 79 of file filesystest.cpp.

9.31 GenCRC Test

Collaboration diagram for GenCRC Test:

GenCRC: Generic CRC Generation GenCRC Test

9.31.1 Detailed Description

Demonstration of the usage and tests of the implementation of the SysToMath Aids C++ Library moduleGenCRC.

Files

• file gencrctest.cppImplementation of a console program demostrating the usage and testing the functionality of the classtemplate stm::crc which provides a generic CRC generator.

Functions

• int main (int argc, char ∗argv[ ])

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 92: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.32 SmartptrAids Test 91

Variables

• const char ∗ Copyright = "(C) 2003-2008 Tom Michaelis, SysToMath"• const char ∗ Version = "1.10-r347"

9.31.2 Function Documentation

9.31.2.1 int main (int argc, char ∗ argv[ ])

Definition at line 85 of file gencrctest.cpp.

9.31.3 Variable Documentation

9.31.3.1 const char∗ Copyright = "(C) 2003-2008 Tom Michaelis, SysToMath"

Definition at line 75 of file gencrctest.cpp.

9.31.3.2 const char∗ Version = "1.10-r347"

Definition at line 76 of file gencrctest.cpp.

9.32 SmartptrAids Test

Collaboration diagram for SmartptrAids Test:

SmartptrAids: Smart Pointer Aids SmartptrAids Test

9.32.1 Detailed Description

Demonstration of the usage and tests of the implementation of the SysToMath Aids C++ Library moduleSmartptrAids.

Files

• file smartptrtest.cppImplementation of a console program demostrating the usage and testing the implementation of the Sys-ToMath Aids C++ Library module SmartptrAids.

Classes

• struct Xyz• class Slot• class Node• struct Operation• struct TestPtr< Policy >

• struct TestSet< Policy >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 93: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.32 SmartptrAids Test 92

Typedefs

• typedef stm::injective_ptr< Xyz > XyzPtr• typedef stm::bijective< Node >::set NodeSet

Functions

• bool operator< (const Xyz &e1, const Xyz &e2)• template<class Policy>

void testptr (const Operation &op)• template<class Policy>

void testset (const Operation &op)• int main (int argc, char ∗argv[ ])

Variables

• const char ∗ Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath"• const char ∗ Version = "1.10-r347"• static const char ∗ man [ ]

Man page.

• XyzPtr ptr1• XyzPtr ptr2 = Xyz (3)• Xyz xyz1 = ∗ptr2• Xyz xyz2 (7, ptr1)• const Xyz ∗ p = xyz2.ptr.get ()• NodeSet nodes• Slot rootSlot• Node::Ptr rootNode = nodes.insert (Node (rootSlot))

9.32.2 Typedef Documentation

9.32.2.1 typedef stm::injective_ptr<Xyz> XyzPtr

Definition at line 170 of file smartptrtest.cpp.

9.32.2.2 typedef stm::bijective<Node>::set NodeSet

Examples:

smartptrtest.cpp.

Definition at line 202 of file smartptrtest.cpp.

9.32.3 Function Documentation

9.32.3.1 bool operator< (const Xyz & e1, const Xyz & e2)

Examples:

smartptrtest.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 94: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.32 SmartptrAids Test 93

Definition at line 192 of file smartptrtest.cpp.

References Xyz::id, and Xyz::ptr.

9.32.3.2 template<class Policy> void testptr (const Operation & op) [inline]

Examples:

smartptrtest.cpp.

Definition at line 1092 of file smartptrtest.cpp.

References Operation::archive, Operation::Archive::Bin, Operation::dir, Operation::loadOnly, StmDe-bugAidsVerify, stm::path< NameT >::string(), TestPtr< Policy >::tell(), Operation::Archive::Txt, andOperation::Archive::Xml.

9.32.3.3 template<class Policy> void testset (const Operation & op) [inline]

Examples:

smartptrtest.cpp.

Definition at line 1150 of file smartptrtest.cpp.

References Operation::archive, Operation::Archive::Bin, TestSet< Policy >::define(), Operation::dir,TestSet< Policy >::dwptr0, TestSet< Policy >::dwptr1, Operation::loadOnly, StmDebugAidsVerify,stm::path< NameT >::string(), TestSet< Policy >::strptr0, TestSet< Policy >::strptr1, TestSet< Policy>::tell(), Operation::Archive::Txt, and Operation::Archive::Xml.

9.32.3.4 int main (int argc, char ∗ argv[ ])

Definition at line 699 of file smartptrtest.cpp.

References Operation::Archive::All, Operation::Mode::All, Operation::Type::All, Operation::archive, Op-eration::Mode::Bij, Operation::Archive::Bin, Copyright, Operation::dir, Operation::Mode::Inj, Opera-tion::loadOnly, man, Operation::mode, Operation::Type::Ptr, Operation::Type::Set, stmCmdLineCre-ate(), stmCmdLineDestroy(), stmCmdLineGetArg(), stmCmdLineGetArgCount(), stmCmdLineGetCur-rentArgIndex(), stmCmdLineGetCurrentOptionArg(), stmCmdLineGetCurrentOptionName(), stmCmdLi-neGetErrbuf(), stmCmdLineGetFirstOptionId(), stmCmdLineGetNextOptionId(), stmCmdLineGetOpterr,stmCmdLineGetProg(), StmCmdLineOptionArgError, stmCmdLinePrintfErrbuf(), stmCmdLineSetOpterr,StmCmdOptSpecOnlyOption, StmCmdOptSpecRequiresArg, StmDebugAidsErrmsg, StmDebugAidsVer-ify, StmElements, StmId, stmPrintManual(), stmPrintManualFooter(), stmPrintManualHeader(), stm-PrintOptionHelp(), stmPrintSynopsis(), Operation::Archive::Txt, Operation::type, Version, and Opera-tion::Archive::Xml.

9.32.4 Variable Documentation

9.32.4.1 const char∗ Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath"

Definition at line 74 of file smartptrtest.cpp.

9.32.4.2 const char∗ Version = "1.10-r347"

Definition at line 75 of file smartptrtest.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 95: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.32 SmartptrAids Test 94

9.32.4.3 const char∗ man[ ] [static]

Initial value:

{"NAME "," smartptrtest - test classes and class templates of smartptraids.hpp "," ","SYNOPSIS "," smartptrtest [--load-only] [--type=<test-type>] [--mode=<test-mode>] "," [--archive=<archive-type>] [--dir=<directory>] "," smartptrtest --help [<option-name>...] "," smartptrtest --version "," ","DESCRIPTION "," The command ’smartptrtest’ tests classes and class templates of the "" SysToMath library ’libstmaids’ declared in the C++ header file "" ’stm/smartptraids.hpp’. "," Unless option --load-only is used, at first boost serialization "" archives of the types configured by option --archive containing "" reference data of test types selected by option --type in the modes "" given by option --mode are created. Then these archives are loaded "" and their contents are compared with the reference data used to create"" the archives. "," The archive files are stored in the directory supplied by option --dir"" and are named ’test-<test-mode>_<test-type>.<archive-type>’. "," The test protocol is written to standard output. "" ","OPTIONS "," --help "," -h If no argument <option-name> follows, print the command man "" page on standard output, else the description of the options "" <option-name> and exit with exit code 2. The arguments "" <option-name> shall be stated without leading ’-’ or ’--’. "," "," --version "," -V Print version info on standard output and exit with exit code "" 2. "," "," --load-only "," -l "," Do not create boost serialization archives before loading them."" Assume that the archives to be loaded already exist. "," By default all archives needed are created before loading them "" again. "," "," --type=<test-type> "," -t test-type "," Test type templates to be handled: <test-type> is one of the "" following arguments: "," ’ptr’: TestPtr test type template "," ’set’: TestSet test type template, "," ’all’: all of the above test type templates (default). "," "," --mode=<test-mode> "," -m test-mode "," Test modes to be handled: <test-mode> is one of the following "" arguments: "," ’injective’ or ’inj’: injective_ptr based test mode, "," ’bijective’ or ’bij’: bijective_ptr based test mode, "," ’all’: all of the above test modes (default). "," "," --archive=<archive-type> "," -a <archive-type> "," Boost serialization archive types to be handled: <archive-type>"" is one of the following arguments: "," ’txt’: text archive type ",

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 96: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.32 SmartptrAids Test 95

" ’bin’: binary archive type, "," ’xml’: XML archive type, "," ’all’: all of the above archive types (default). "," "," --dir=<directory> "," -d <directory> "," Set <directory> as the directory where archive files are "" created and loaded from. By default this is the current "" directory. "}

Man page.

Definition at line 79 of file smartptrtest.cpp.

9.32.4.4 XyzPtr ptr1

Examples:

smartptrtest.cpp.

Definition at line 172 of file smartptrtest.cpp.

Referenced by stm::smartptr::operator!=(), stm::smartptr::operator<(), and stm::smartptr::operator==().

9.32.4.5 XyzPtr ptr2 = Xyz (3)

Examples:

smartptrtest.cpp.

Definition at line 187 of file smartptrtest.cpp.

Referenced by stm::smartptr::operator!=(), stm::smartptr::operator<(), and stm::smartptr::operator==().

9.32.4.6 Xyz xyz1 = ∗ptr2

Examples:

smartptrtest.cpp.

Definition at line 188 of file smartptrtest.cpp.

9.32.4.7 Xyz xyz2(7, ptr1)

Examples:

smartptrtest.cpp.

9.32.4.8 const Xyz∗ p = xyz2.ptr.get ()

Examples:

smartptrtest.cpp.

Definition at line 190 of file smartptrtest.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 97: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.33 SysToMath Aids C++ Library Test 96

9.32.4.9 NodeSet nodes

Examples:

smartptrtest.cpp.

Definition at line 204 of file smartptrtest.cpp.

9.32.4.10 Slot rootSlot

Examples:

smartptrtest.cpp.

Definition at line 281 of file smartptrtest.cpp.

9.32.4.11 Node::Ptr rootNode = nodes.insert (Node (rootSlot))

Examples:

smartptrtest.cpp.

Definition at line 282 of file smartptrtest.cpp.

9.33 SysToMath Aids C++ Library Test

Collaboration diagram for SysToMath Aids C++ Library Test:

SysToMath Aids C++ Library TestSysToMath Aids C++ Library

9.33.1 Detailed Description

Demonstration of the usage and tests of the implementation of the SysToMath Aids C++ Library stmaids.

Files

• file sudoku.cppImplementation of a console program demostrating the usage and testing the implementation of the Sys-ToMath Aids C++ Library stmaids.

Classes

• class SudokuSudoku model.

• class Sudoku::StateSudoku state.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 98: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.33 SysToMath Aids C++ Library Test 97

Functions

• int main (int argc, char ∗∗argv)Main function implementing the command sudoku.

Variables

• const char ∗ Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath"• const char ∗ Version = "1.10-r347"• static const char ∗ man [ ]

Man page.

9.33.2 Function Documentation

9.33.2.1 int main (int argc, char ∗∗ argv)

Main function implementing the command sudoku.

Parameters:

← argc Argument count.

← argv Pointer to an array of argc argument strings followed by an additional NULL array element.

Returns:

0, if no error occurred.1, if the command was used erroneously or failed.2, if one of the command line options –help or –versionn has been used.

Definition at line 970 of file sudoku.cpp.

References Copyright, Sudoku::FirstSolution, Sudoku::generate(), Sudoku::State::generate(), man, Su-doku::RandomSolution, Sudoku::read(), Sudoku::silent, Sudoku::solve(), stmCmdLineCreate(), stm-CmdLineDestroy(), stmCmdLineGetArg(), stmCmdLineGetArgCount(), stmCmdLineGetCurrentArgIn-dex(), stmCmdLineGetCurrentOptionArg(), stmCmdLineGetCurrentOptionName(), stmCmdLineGetEr-ror(), stmCmdLineGetFirstOptionId(), stmCmdLineGetNextOptionId(), stmCmdLineGetProg(), StmCmd-LineOptionArgError, StmCmdLineOptionError, stmCmdLineSetErrfp(), stmCmdLineSetError(), Stm-CmdOptSpecOnlyOption, StmCmdOptSpecRequiresArg, StmDebugAidsVerify, StmElements, Stm-False, StmId, stmPrintManual(), stmPrintManualFooter(), stmPrintManualHeader(), stmPrintOption-Help(), stmPrintSynopsis(), StmTrue, Sudoku::State::sudoku, Sudoku::test(), Sudoku::State::u, Su-doku::UniqueSolution, Version, and Sudoku::write().

9.33.3 Variable Documentation

9.33.3.1 const char∗ Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath"

Definition at line 74 of file sudoku.cpp.

9.33.3.2 const char∗ Version = "1.10-r347"

Definition at line 75 of file sudoku.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 99: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

9.33 SysToMath Aids C++ Library Test 98

9.33.3.3 const char∗ man[ ] [static]

Initial value:

{"NAME "," sudoku - generate and/or solve a sudoku "," ","SYNOPSIS "," sudoku [--silent] "," ([--generate=<dim>] | "," [--gen-only=<dim>] | "," [--input=<file> [--solution=(first|random|unique)]]) "," [--output=<file>] "," sudoku --help [<option-name>...] "," sudoku --version "," ","DESCRIPTION "," The command solves a sudoku which it either generates or reads from "" its input. Unless suppresed by option --gen-only, the sudoku is "" solved according to option --choice, if applicable. The resulting "" sudoku either solved or not is written to the output. "," The input format is ASCII based. Empty lines and line parts after the"" comment character ’#’ are ignored. "," The first relevant file entry shall be a decimal number in the range "" [2, 10] which defines the dimension n of the sudoku. After that n^4 "" decimal numbers in the range [0, n] shall follow. The numbers shall "" be separated by whitespace or comments as stated above. The number 0 "" designates the positions to determine for the solution. "," On success the command returns with exit code 0. If a usage or "" processing error occurred, the exit code is 1. "," ","OPTIONS "," --help "," -h If no argument <option-name> follows, print the command man "" page on standard output, else the description of the options "" <option-name> and exit with exit code 2. The arguments "" <option-name> shall be stated without leading ’-’ or ’--’. "," "," --version "," -V Print version info on standard output and exit with exit code "" 2. "," "," --silent "," -s Suppress all diagnostic messages on stdout and stderr. "," "," --generate=<dim> "," --gen=<dim> "," -g <dim> "," Generate the sudoku to be solved with dimension <dim> in the "" range [2, 10] instead of reading it from the input and solve "" it. This option is mutually exclusive to the options --input "" and --gen-only. "," "," --gen-only <dim> "," -G <dim> "," Generate the sudoku to be solved with dimension <dim> in the "" range [2, 10] instead of reading it from the input without "" solving it. This option is mutually exclusive to the options "" --input and --generate. "," "," --input=<file> "," -i <file> "," Read the sudoku to be solved from <file> and solve it. The "" default input is stdin. This option is mutually exclusive to "" the options --generate and --gen-only. "," ",

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 100: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

10 SysToMath C++ Libraries Implementation Directory Documentation 99

" --solution=(first|random|unique) "," -S (first|random|unique) "," Determines the output, if the sudoku read with option --input "" is not uniquely solvable. Unless the option argument is "" ’unique’, according to the option argument the first or a "" randomly chosen solution constitutes the output. If the option"" argument is ’unique’, the non-null output elements are exactly "" those belonging to each possible solution. The default "" behaviour is --solution=first. "," As this option is only allowed in conjunction with option "" --input, it is mutually exclusive to the options --generate and"" --gen-only. "," "," --output=<file> "," -o <file> "," Write the output to <file>. The default output is stdout. If "" this option is the last one, the option specification --output="" or -o can be omitted for convenience. "}

Man page.

Definition at line 79 of file sudoku.cpp.

10 SysToMath C++ Libraries Implementation Directory Documen-tation

10.1 stmtoolaids/stm/toolaids/impl/ Directory Reference

toolaids

impl

stmaids

14

Files

• file toolaidsconfig.hppManagement of library generation and of automatic library choice for the SysToMath Tool Aids C++ librarystmaids.

• file xbinmsg.hppImplementation of the abstract binary message model.

• file xctaids.hppImplementation of ClearCase cleartool aids.

• file xdspmsg.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 101: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

10.2 stmaids/stm/impl/ Directory Reference 100

Implementation of the DSP message model.

• file xlvdspacket.hppImplementation of the LVDS packet model.

• file xmcbspmsg.hppImplementation of the McBSP message model.

• file xmsgtimestamp.hppImplementation of the message timestamp model.

• file xprintkbinmsg.hppImplementation of the PrintkBin message model.

10.2 stmaids/stm/impl/ Directory Reference

stm

impl

Files

• file aidsconfig.hppManagement of library generation and of automatic library choice for the SysToMath Aids C++ librarystmaids.

• file debugxaids.hppImplementation of the debugging support facilities.

• file divxaids.hppImplementation of diverse aids.

• file filesysxaids.hppImplementation of file system aids.

• file genxcrc.hppImplementation of generic CRC remainder polynomial generation.

• file loggerxaids.hppImplementation of formatted logging aids.

• file smartptrxaids.hppImplementation of smart pointer aids.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 102: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

10.3 stmtoolaids/stm/ Directory Reference 101

10.3 stmtoolaids/stm/ Directory Reference

stmtoolaids

stmtoolaids

stmaids

14

Directories

• directory toolaids

10.4 stmaids/stm/ Directory Reference

stmaids

stm

impl

6

Directories

• directory impl

Files

• file aids.hppCentral include file for SysToMath Aids C++ library.

• file debugaids.cppImplementation of the debugging support facilities.

• file debugaids.hppDefinition of debugging support macros and functions.

• file divaids.cppImplementation of general utilities.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 103: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

10.5 stmaids/ Directory Reference 102

• file divaids.hppDeclarations for diverse aids.

• file filesysaids.cppImplementation of file system related utilities.

• file filesysaids.hppDeclarations for file system aids.

• file gencrc.hppDeclarations of generic CRC remainder polynomial generation.

• file loggeraids.hppDeclarations of formatted logging aids.

• file smartptraids.hppDeclarations of smart pointer aids.

10.5 stmaids/ Directory Reference

stmaids

stm

test

11

Directories

• directory stm• directory test

10.6 stmtoolaids/ Directory Reference

stmtoolaidsstm

stmaids

14

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 104: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

10.7 stmaids/test/ Directory Reference 103

Directories

• directory stm

10.7 stmaids/test/ Directory Reference

stmaids

test

stm

11

Files

• file divaidstest.cppImplementation of a console program demostrating the usage and testing the implementation of the Sys-ToMath Aids C++ Library module DivAids.

• file filesystest.cppImplementation of a console program demostrating the usage and testing the implementation of the Sys-ToMath Aids C++ Library module FilesysAids.

• file gencrctest.cppImplementation of a console program demostrating the usage and testing the functionality of the classtemplate stm::crc which provides a generic CRC generator.

• file smartptrtest.cppImplementation of a console program demostrating the usage and testing the implementation of the Sys-ToMath Aids C++ Library module SmartptrAids.

• file sudoku.cppImplementation of a console program demostrating the usage and testing the implementation of the Sys-ToMath Aids C++ Library stmaids.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 105: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

10.8 stmtoolaids/stm/toolaids/ Directory Reference 104

10.8 stmtoolaids/stm/toolaids/ Directory Reference

stm

toolaids

impl

7

stmaids

14

Directories

• directory impl

Files

• file binmsg.hppDeclarations for the abstract binary message model.

• file ctaids.cppImplementation of ClearCase cleartool utilities.

• file ctaids.hppDeclarations for ClearCase cleartool aids.

• file dspmsg.cppImplementation of the DSP message model.

• file dspmsg.hppDeclarations for the DSP message model.

• file lvdspacket.hppDeclarations for the LVDS packet model.

• file mcbspmsg.hppDeclarations for the McBSP message model.

• file msgtimestamp.hppDeclarations for the message timestamp model.

• file printkbinmsg.hppDeclarations for the PrintkBin message model.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 106: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

11 SysToMath C++ Libraries Implementation Namespace Documentation 105

• file toolaids.hppCentral include file for SysToMath Tool Aids C++ library.

11 SysToMath C++ Libraries Implementation Namespace Docu-mentation

11.1 stm Namespace Reference

11.1.1 Detailed Description

Namespace for the SysToMath C++ Libraries.

Classes

• class byte_iterator_rangeByte iterator range class.

• class integral_rangeClass template representing a range of integral objects of type IntegralT constrained by the minimal andmaximal values minVal and maxVal.

• class integral_setClass template integral_set is a set container representing a set of integral type objects constrained byminimal and maximal values wrapping a set of integral ranges.

• class conditionCondition class.

• class system_conditionSystem condition class.

• class scoped_lockScoped lock class.

• class system_scoped_lockSystem scoped lock class.

• struct fmtflagsBase class of class template stm::hexfmt specifying format flags.

• class hexfmtClass template allowing to format the unsigned number held as hexadecimal string.

• class hexfmt< ElemT ∗, DefaultFlags >

Class template partial specialization allowing to format the pointer held as hexadecimal string.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 107: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

11.1 stm Namespace Reference 106

• class fixedfmtClass template allowing to format the floating point number of type FloatT held on an output stream in fixedpoint notation using a specified precision.

• struct spaceUnary predicate functor template determining if a CharT object is a white space as defined by the currentlocale.

• struct nospaceUnary predicate functor template determining if a CharT object is no white space as defined by the currentlocale.

• class pstringClass to represent a std::string with a case unsensitive order relation on Windows systems else with a casesensitive order relation used for file system element naming.

• class numpstringClass to represent a file system name with a case unsensitive order relation on Windows systems else with acase case sensitive order relation collating numerically correct.

• class pathClass template path refining boost::filesystem::path.

• class readablefileClass template representing a file named by its NameT subobject which is guaranteed to be accessible forreading and holding its size at the time of definition.

• class inputrangeClass template representing a range of input files.

• class inputseq• class inputrange_iterator

Input iterator class template reading successive byte ranges from the input range of the ContextT object forwhich it was constructed.

• class filespecClass to specify file system element names.

• class filespeclistList class of filespec objects.

• class filefindContainer class representing existing file system elements defined by a file spec using pattern matchingbased file name expansion.

• class crcClass template crc provides a means to generate cyclic redundancy check (CRC) remainder polynomials oftype RemPolT over buffers of byte-like objects.

• struct has_pow2size• class logger_base

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 108: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

11.1 stm Namespace Reference 107

Common base class of all basic_logger class template specializations.

• class basic_loggerClass template to manage formatted logging on an output stream (normally a log file) and optionally on asecond stream (normally a console) and on the system log (see stm::syslog()).

• class loggerClass template to manage formatted logging on a std::string based output stream (normally a log file)and optionally on a second std::string based stream (normally a console, by default std::cout, if templateparameter errorConsole is false (the default), or else std::cerr).

• class wloggerClass template to manage formatted logging on a std::wstring based output stream (normally a log file) andoptionally on a second std::wstring based stream (normally a console, by default std::wcout, if templateparameter errorConsole is false (the default), or else std::wcerr).

Namespaces

• namespace bufferNamespace containing all buffer related utilities.

• namespace rectrlNamespace for regular expression matching issues.

• namespace localImplementation namespace for the SysToMath C++ Libraries.

• namespace smartptrNamespace for all smart pointer aids class templates.

• namespace toolsNamespace for the SysToMath Tool Aids C++ Library modules.

Common unsigned and signed integer types

• typedef boost::uint8_t byte• typedef boost::uint16_t word• typedef boost::uint32_t dword• typedef boost::uint64_t qword• typedef boost::int8_t int8• typedef boost::int16_t int16• typedef boost::int32_t int32• typedef boost::int64_t int64• typedef boost::uint_t< sizeof(void ∗)∗CHAR_BIT >::leas addrword )

Unsigned integer type capable of holding an address.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 109: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

11.1 stm Namespace Reference 108

Endianness

• typedef boost::mpl::bool_< __BYTE_ORDER==__LITTLE_ENDIAN > littleendianType being boost::mpl::true_ or boost::mpl::false_ depending on the host endianness.

• typedef boost::mpl::bool_< __BYTE_ORDER==__BIG_ENDIAN > bigendianType being boost::mpl::true_ or boost::mpl::false_ depending on the host endianness.

• bool hostlittleendian ()Returns true, if the host byte order is little-endian.

• bool hostbigendian ()Returns true, if the host byte order is big-endian.

Typedefs

• typedef numpstring numpath• typedef readablefile< numpstring > sizedfile

For cenvenience sizedfile is a synonym for readablefile<numpstring>.

Enumerations

• enum SyslogFlags {

SyslogNoLog = 0x00000000,

SyslogInfo = 0x00000001,

LogInfo = 0x00000001,

SyslogWarning = 0x00000002,

LogWarning = 0x00000002,

SyslogError = 0x00000003,

LogError = 0x00000003,

SyslogLevelMask = 0x00000003,

LogLevelMask = 0x00000003,

SyslogPerror = 0x00010000,

LogPerror = 0x00010000,

SyslogNoPerror = 0x00020000,

LogNoPerror = 0x00020000 }Syslog flags.

Functions

• void initSyslog (bool perror=false, const std::string &prog=std::string())Initialize syslog().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 110: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

11.1 stm Namespace Reference 109

• void syslog (const std::string &message, unsigned int flags=SyslogInfo)Output message to the system log according to flags.

• template<class IStreamT, typename IntegralT, IntegralT minVal, IntegralT maxVal>IStreamT & operator>> (IStreamT &is, integral_range< IntegralT, minVal, maxVal > &range)

Extract the integral range formatted as single integral number or as expression "first-last" with integralnumbers first < last enclosed in parentheses from the input stream is and store it in the integral range.

• template<class OStreamT, typename IntegralT, IntegralT minVal, IntegralT maxVal>OStreamT & operator<< (OStreamT &os, const integral_range< IntegralT, minVal, maxVal >&range)

Insert the integral range held by range into the output stream os formatted as single decimal numbers orexpression "first-last" with decimal numbers first < last.

• template<class IStreamT, class IntegralRangeT, class RangeSetT>

IStreamT & operator>> (IStreamT &is, integral_set< IntegralRangeT, RangeSetT > &set)Extract the integral ranges formatted as comma separated sequence of single integral numbers and/or ex-pressions "first-last" with integral numbers first < last enclosed in parentheses from the input stream is andstore them in the integral set.

• template<class OStreamT, class IntegralRangeT, class RangeSetT>

OStreamT & operator<< (OStreamT &os, const integral_set< IntegralRangeT, RangeSetT >&set)

Insert the integral ranges held by the integral set into the output stream os formatted as comma separatedsequence of single decimal numbers and/or expressions "first-last" with decimal numbers first < last.

• template<class OStreamT, typename UnsignedT, dword DefaultFlags>OStreamT & operator<< (OStreamT &os, const hexfmt< UnsignedT, DefaultFlags > &val)

Insert the value held by val into the output stream os as hexadecimal string formatted according to the flagsin effect.

• template<class OStreamT, typename ElemT, dword DefaultFlags>OStreamT & operator<< (OStreamT &os, const hexfmt< ElemT ∗, DefaultFlags > &ptr)

Insert the value held by ptr into the output stream os as hexadecimal string according to the flags in effect.

• template<class OStreamT, typename FloatT>

OStreamT & operator<< (OStreamT &os, const fixedfmt< FloatT > &val)Insert the value held by val into the output stream os in fixed point notation using the precision specified byval.

• template<typename ScalarT>

dword nrOfSetBits (ScalarT value)Function template returning the number of set bits of a ScalarT value.

• template<class StringT>

StringT::size_type clamped_offset (const StringT &str, typename StringT::size_type pos)Function template returning the offset pos of the string str clamped by its length.

• template<class StringT>

StringT::size_type clamped_rest (const StringT &str, typename StringT::size_type pos)Function template returning the length of the string str beginning with offset pos clamped by the string’slength.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 111: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

11.1 stm Namespace Reference 110

• template<class StringT>

StringT trim_back (const StringT &str)Function template returning a copy of str.substr without trailing white space characters as defined by thecurrent locale.

• template<class StringT>

StringT trim_back (const StringT &str, typename StringT::size_type pos)Function template returning a copy of str.substr (0, pos) without trailing white space characters as definedby the current locale.

• template<class StringT>

StringT::size_type find_trim_back (const StringT &str)Function template returning trim_back (str).size ().

• template<class StringT>

StringT::size_type find_trim_back (const StringT &str, typename StringT::size_type pos)Function template returning trim_back (str, pos).size ().

• template<class StringT>

StringT::size_type find_token_end (const StringT &str, typename StringT::size_type pos=0)Function template returning the least index npos >= pos such that npos == str.length () or str [npos] iswhite space.

• template<class StringT>

StringT trim_back (const StringT &str, const StringT &sepchars)Function template returning a copy of str without trailing characters from sepchars.

• template<class StringT>

StringT trim_back (const StringT &str, const StringT &sepchars, typename StringT::size_type pos)Function template returning a copy of str.substr (0, pos) without trailing characters from sepchars.

• template<class StringT>

StringT::size_type find_trim_back (const StringT &str, const StringT &sepchars)Function template returning trim_back (str, sepchars).size ().

• template<class StringT>

StringT::size_type find_trim_back (const StringT &str, const StringT &sepchars, typenameStringT::size_type pos)

Function template returning trim_back (str, sepchars, pos).size ().

• template<class StringT>

StringT::size_type find_token_end (const StringT &str, const StringT &sepchars, typenameStringT::size_type pos=0)

Function template returning the least index npos >= pos with npos == str.length () or str [npos] is one ofthe characters of sepchars.

• template<class StringT>

StringT trim_front (const StringT &str, typename StringT::size_type pos=0)Function template returning a copy of str.substr (pos) without leading white space characters as defined bythe current locale.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 112: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

11.1 stm Namespace Reference 111

• template<class StringT>

StringT::size_type find_trim_front (const StringT &str, typename StringT::size_type pos=0)Function template returning str.size () - trim_front (str, pos).size ().

• template<class StringT>

StringT trim_front (const StringT &str, const StringT &sepchars, typename StringT::size_typepos=0)

Function template returning a copy of str.substr (pos) without leading characters from sepchars.

• template<class StringT>

StringT::size_type find_trim_front (const StringT &str, const StringT &sepchars, typenameStringT::size_type pos=0)

Function template returning str.size () - trim_front (str, sepchars, pos).size ().

• template<class StringT>

StringT trim (const StringT &str)Function template returning a copy of str without leading and trailing white space characters as defined bythe current locale.

• template<class StringT>

StringT trim (const StringT &str, const StringT &sepchars)Function template returning a copy of str without leading and trailing characters from sepchars.

• int makedir (const boost::filesystem::path &path)Make directory path.

• int getkey ()Read one character from the console and return it as int on success, else return -1 and set the variable errnoaccording to the error.

• bool isWin32Executable (const std::string &path)The function isWin32Executable returns true, if path (which may not exist) designates a WIN32 executablefile (case unsensitively the extension ’.exe’, ’.dll’, ’.msi’ or ’.com’).

• template<class SequenceT>

SequenceT & brace_expand (SequenceT &result, const std::string &str, bool allowCom-maSep=false)

The function template brace_expand appends the maybe brace expanded words of str to the sequence resultand returns result.

• bool designateSame (const pstring &p1, const pstring &p2)Return true, if the pstring object p1 designates the same file system element than that p2 designates.

• bool operator< (const pstring &p1, const pstring &p2)Order relation for pstring objects.

• bool operator== (const pstring &p1, const pstring &p2)Equality relation for pstring objects.

• bool operator< (const numpstring &p1, const numpstring &p2)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 113: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

11.2 stm::buffer Namespace Reference 112

Order relation for numpstring objects.

• bool operator== (const numpstring &p1, const numpstring &p2)Equality relation for numpstring objects.

• template<class NameT>

void swap (readablefile< NameT > &rf1, readablefile< NameT > &rf2)Swaps the readablefile objects rf1 and rf2.

• template<class BufRangeT, class ContextT>

bool operator== (const inputrange_iterator< BufRangeT, ContextT > &x, const inputrange_-iterator< BufRangeT, ContextT > &y)

Equality operator.

• template<class BufRangeT, class ContextT>

bool operator!= (const inputrange_iterator< BufRangeT, ContextT > &x, const inputrange_-iterator< BufRangeT, ContextT > &y)

Inequality operator.

11.2 stm::buffer Namespace Reference

11.2.1 Detailed Description

Namespace containing all buffer related utilities.

Functions

• template<typename T>

T & get (byte ∗ptr)Returns a reference to the T object beginning at byte address ptr.

• template<typename T>

const T & get (const byte ∗ptr)Returns a constant reference to the T object beginning at byte address ptr.

• template<typename T>

T & fetch (T &obj, const byte ∗ptr)Creates obj T as being a copy of the T object beginning at byte address ptr and returns a reference to it.

• template<typename T>

T & swap (T &obj, typename boost::enable_if< boost::is_pod< T >, const byte ∗ >::type ptr)Creates obj T as being a byte swapped copy of the T object beginning at byte address ptr and returns areference to it.

• template<typename T>

T & endianConvertIf (T &obj, typename boost::enable_if< boost::is_pod< T >, const byte ∗>::typeptr, bool convert)

Creates obj T as being an endian converted or unconverted copy of the T object beginning at byte addressptr and returns a reference to it.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 114: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

11.2 stm::buffer Namespace Reference 113

• template<typename T>

T & endianConvertIf (T &obj, typename boost::enable_if< boost::is_pod< T >, const byte ∗>::typeptr, boost::mpl::false_)

Creates obj T as being an unconverted copy of the T object beginning at byte address ptr and returns areference to it.

• template<typename T>

T & endianConvertIf (T &obj, typename boost::enable_if< boost::is_pod< T >, const byte ∗>::typeptr, boost::mpl::true_)

Creates obj T as being an endian converted copy of the T object beginning at byte address ptr and returns areference to it.

• template<typename T>

T & networkByteOrderConvert (T &obj, typename boost::enable_if< boost::is_pod< T >, constbyte ∗ >::type ptr)

Creates obj T as being an endian converted or unconverted copy of the T object beginning at byte addressptr and returns a reference to it.

• template<typename T>

T swapped (typename boost::enable_if< boost::is_pod< T >, T >::type value)Returns an object of type T being a byte swapped copy of the T object value.

• template<typename T>

T endianConvertedIf (typename boost::enable_if< boost::is_pod< T >, T >::type value, bool con-vert)

Returns the endian converted or unconverted value of an object of type T.

• template<typename T>

T endianConvertedIf (typename boost::enable_if< boost::is_pod< T >, T >::type value,boost::mpl::false_)

Returns the unconverted value of an object of type T.

• template<typename T>

T endianConvertedIf (typename boost::enable_if< boost::is_pod< T >, T >::type value,boost::mpl::true_)

Returns the endian converted value of an object of type T.

• template<typename T>

T networkByteOrderConverted (typename boost::enable_if< boost::is_pod< T >, T >::typevalue)

Returns the endian converted or unconverted value of an object of type T.

• template<typename T>

size_t pad (typename boost::enable_if< has_pow2size< T >, size_t >::type offset)Returns the least number aligned to T not being less than offset.

• template<typename T>

byte ∗ put (byte ∗ptr, const T &value)Stores a T object at byte address ptr and returns the byte address of the T object following that T object.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 115: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

11.3 stm::local Namespace Reference 114

11.3 stm::local Namespace Reference

11.3.1 Detailed Description

Implementation namespace for the SysToMath C++ Libraries.

Classes

• class errmsgImplementation class for macro StmDebugAidsErrmsg.

• class xIntegral_rangestm::integral_range implementation base class template.

• class xIntegral_setstm::integral_set implementation base class template.

• class xconditionstm::condition implementation base class.

• class xsystem_conditionstm::system_condition implementation base class.

• class xscoped_lockstm::scoped_lock implementation base class.

• class xsystem_scoped_lockstm::system_scoped_lock implementation base class.

• class xhexfmtstm::hexfmt implementation base class template.

• class xfixedfmtstm::fixedfmt implementation base class template.

• class xrecursionenvstm::path::recursionenv implementation base class.

• class xdirdatastm::path::dirdata implementation base class template.

• class xreadablefilestm::readablefile implementation base class.

• class xinputrangestm::inputrange implementation base class template.

• class xinputrange_iteratorstm::inputrange_iterator implementation base class template.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 116: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

11.4 stm::rectrl Namespace Reference 115

• class xfilespecstm::filespec implementation base class.

• class xfilespecliststm::filespeclist implementation base class.

• class xfilefindstm::filefind implementation base class template.

• class BraceExpandBrace expansion implementation class.

• class xcrcstm::crc implementation base class template.

• class basic_xloggerstm::basic_logger implementation base class template.

Variables

• static bool syslogPerror• static std::string syslogProg

11.4 stm::rectrl Namespace Reference

11.4.1 Detailed Description

Namespace for regular expression matching issues.

Predefined StmReCtrl Objects

The predefined StmReCtrl objects stm::rectrl::identity and stm::rectrl::tolower provide control and errorhandling for regular expressions (see Abstract Data Type StmRe).

• StmReCtrl identity = initialize ()• StmReCtrl tolower = NULL

Control and error handling of non-case-sensitive regular expressions.

Functions

• StmReCtrl initialize ()stm::rectrl initialization.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 117: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

11.5 stm::smartptr Namespace Reference 116

11.5 stm::smartptr Namespace Reference

11.5.1 Detailed Description

Namespace for all smart pointer aids class templates.

Classes

• struct policyClass template serving as Policy template parameter for class templates injective_ptr and injective_set.

• struct MakeSurjectiveClass template serving as wrapper of template parameter Policy to ensure the surjective policy property.

• struct MakeMultirangeClass template serving as wrapper of template parameter Policy to ensure the multirange policy property.

• class injective_ptrThe class template injective_ptr is a smart pointer pointing to unique constant objects of element type Tstored using a static repository.

• class injective_setThe class template injective_set is a container of unique constant objects of value type T stored wrapping aspecific range of the static repository of an injective_ptr<T, Compare, Allocator, Policy> object.

• class injectiveThe traits class template injective combines the class template injective_ptr and its associated class templateinjective_set having either the surjective or the not surjective policy property.

• class bijectiveThe traits class template bijective combines the class template injective_ptr and its associated class templateinjective_set having the surjective policy property.

Namespaces

• namespace localImplementation namespace for the SysToMath Aids C++ Library module SmartptrAids.

Policy Flags

The policy flag bits are bitwise orable.

• const stm::dword Surjective = 0x00000001Surjective policy flag.

• const stm::dword Multirange = 0x00000002Multirange policy flag.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 118: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

11.6 stm::smartptr::local Namespace Reference 117

Functions

• template<class T, class Compare, class Allocator, class Policy>

bool operator== (const injective_ptr< T, Compare, Allocator, Policy > &ptr1, const injective_ptr<T, Compare, Allocator, Policy > &ptr2)

Returns true, if both ptr1 and ptr2 are empty or ptr1 and ptr2 are not empty and point to elements beingequivalent under the equivalence relation induced by Compare, else false.

• template<class T, class Compare, class Allocator, class Policy>

bool operator!= (const injective_ptr< T, Compare, Allocator, Policy > &ptr1, const injective_ptr<T, Compare, Allocator, Policy > &ptr2)

Returns true, if either ptr1 or ptr2 is not empty and ptr1 or ptr2 is empty or else point to elements beingnon-equivalent under the equivalence relation induced by Compare, else false.

• template<class T, class Compare, class Allocator, class Policy>

bool operator< (const injective_ptr< T, Compare, Allocator, Policy > &ptr1, const injective_ptr<T, Compare, Allocator, Policy > &ptr2)

Returns a bool value such that operator< is a strict weak ordering as decribed in (25.3) and that under theequivalence relation.

• template<class T, class Compare, class Allocator, class Policy>

const T ∗ get_pointer (const injective_ptr< T, Compare, Allocator, Policy > &ptr)Returns a constant pointer to the element pointed to by the injective_ptr object ptr, if ptr is not be empty,else the null pointer.

• template<class OStreamT, class T, class Compare, class Allocator, class Policy>

OStreamT & operator<< (OStreamT &os, const injective_ptr< T, Compare, Allocator, Policy >&ptr)

Inserts a string representation of the address of the element pointed to by ptr into the output stream os.

• template<class T, class Compare, class Allocator, class Policy>

void swap (injective_ptr< T, Compare, Allocator, Policy > &ptr1, injective_ptr< T, Compare, Al-locator, Policy > &ptr2)

Exchanges the contents of the injective_ptr objects ptr1 and ptr2.

11.6 stm::smartptr::local Namespace Reference

11.6.1 Detailed Description

Implementation namespace for the SysToMath Aids C++ Library module SmartptrAids.

Classes

• class mapped_ptrstm::smartptr::injective_ptr implementation base class template.

• struct pcomp• class pointee_type• struct item_type• struct item_descr< T, Compare, true, true >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 119: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

11.7 stm::tools Namespace Reference 118

• struct item_descr< T, Compare, false, true >

• struct increfcount• struct decrefcount• struct comp_value_id• struct comp_id• struct comp_value• class repository_type• class mapped_ptr< T, Compare, Allocator, refcounted, false >

• struct item_descr< T, Compare, true, false >

• struct item_descr< T, Compare, false, false >

• class repository_type< T, Compare, Allocator, refcounted, false >

Typedefs

• typedef long refcount_typeTo be compatible with boost::shared_ptr.

11.7 stm::tools Namespace Reference

11.7.1 Detailed Description

Namespace for the SysToMath Tool Aids C++ Library modules.

Classes

• class BaseMessageContextBase message context type which shall be a direct or indirect public base class of its template parameterContextT.

• class BaseMessageAbstract base class of message types for scanning from its byte_iterator_range base class object.

• class BinMessageContextBinary message context type.

• class BinMessageBinary message scanning from a stm::byte_iterator_range.

• class CtMain ClearCase cleartool aids class.

• class CtOperationClearCase cleartool operation class.

• class CtExceptionsClearCase cleartool exceptions class.

• class DspMessage

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 120: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

11.8 stm::tools::local Namespace Reference 119

DSP message contained in a binary message.

• class LvdsPacketLVDS packet contained in a binary message.

• class McBspMessageMcBSP message scanning from a BaseMessage’s byte_iterator_range.

• class MsgTimestampMessage timestamp type.

• class PrintkBinMessagePrintkBin message scanning from a the BaseMessage’s byte_iterator_range.

Namespaces

• namespace localImplementation namespace for the SysToMath Toll Aids C++ Library modules.

11.8 stm::tools::local Namespace Reference

11.8.1 Detailed Description

Implementation namespace for the SysToMath Toll Aids C++ Library modules.

Classes

• class xBaseMessageContextstm::tools::BaseMessageContext implementation base class template.

• class xBaseMessagestm::tools::BaseMessage implementation base class template.

• class xBinMessageGapstm::tools::BinMessageContext::Gap implementation base class.

• class xBinMessageContextstm::tools::BinMessageContext implementation base class template.

• class xBinMessagestm::tools::BinMessage implementation base class template.

• class xArgListstm::tools::Ct::ArgList implementation base class.

• class xCtstm::tools::Ct implementation base class.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 121: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12 SysToMath C++ Libraries Implementation Class Documentation 120

• class xCtOperationstm::tools::CtOperation implementation base class.

• class xTraceHeaderstm::tools::DspMessage::TraceHeader implementation base class.

• class xDspMessagestm::tools::DspMessage implementation base class template.

• class xLvdsPacketstm::tools::LvdsPacket implementation base class template.

• class xMcBspMessagestm::tools::McBspMessage implementation base class template.

• class xMsgTimestampstm::tools::MsgTimestamp implementation base class.

• class xPrintkBinMessage

12 SysToMath C++ Libraries Implementation Class Documentation

12.1 stm::tools::BaseMessage< ContextT > Class Template Reference

#include <binmsg.hpp>

Inheritance diagram for stm::tools::BaseMessage< ContextT >:

stm::tools::BaseMessage< ContextT >

stm::tools::McBspMessage< ContextT > stm::tools::PrintkBinMessage< ContextT >

stm::byte_iterator_range stm::tools::local::xBaseMessage< ContextT >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 122: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.1 stm::tools::BaseMessage< ContextT > Class Template Reference 121

Collaboration diagram for stm::tools::BaseMessage< ContextT >:

stm::tools::BaseMessage< ContextT >

stm::byte_iterator_range

stm::tools::local::xBaseMessage< ContextT >

body_

stm::tools::MsgTimestamp

timestamp_

stm::tools::local::xMsgTimestamp

12.1.1 Detailed Description

template<class ContextT> class stm::tools::BaseMessage< ContextT >

Abstract base class of message types for scanning from its byte_iterator_range base class object.

ContextT shall be a specialization of BaseMessageContext or be publicly derived therefrom. If ContextTis a specialization of BinMessageContext (which is publicly derived from a BaseMessageContext special-ization) or is publicly derived therefrom, ContextT is also a BinMessage<ContextT> factory and the typesderived from BaseMessage<ContextT> can be registered as BinMessage<ContextT> types known to thatfactory (see BinMessageContext::registerMessageType()).

Definition at line 182 of file binmsg.hpp.

Public Types

• enum { WordSize = 4 }Scanned input data are organized as 32 bit words.

• enum {

NoFlags = 0x00000000,

ThrowOnError = 0x00000001 }Bitwise orable flag bits.

• enum {

NoError = 0x00000000,

OutOfSync = 0x00000001,

ConsistencyError = 0x00000002 }Status values.

• typedef ContextT context_typeContext type of the messages to be scanned.

• typedef BaseMessage< ContextT > basemessage_typeThis type.

• typedef context_type::Timestamp Timestamp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 123: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.1 stm::tools::BaseMessage< ContextT > Class Template Reference 122

Timestamp type.

Public Member Functions

• virtual ∼BaseMessage ()Virtual destructor to allow polymorphic class hierarchies.

• virtual const std::string & type () const =0Return the message type string.

• dword flags () constReturns the flags of the message.

• dword status () constReturns the status of the message.

• const Timestamp & timestamp () constReturns a reference to the message’s timestamp.

• context_type & context ()Returns the the message’s context.

• const byte_iterator_range & body () constReturns the byte range consisting of the message’s body excluding any padding bytes.

Protected Member Functions

• BaseMessage (const byte ∗first, const byte ∗last, context_type &context, dword flags=NoFlags,dword status=NoError)

Since BaseMessage is an abstract base class, this constructor is used only by derived classes.

• void setStatus (dword val)Sets the status of the message to val.

• void setBody (const byte_iterator_range &body)Sets the the byte range consisting of the message’s body excluding any padding bytes.

• void setUdpTimestamp (word bfn, dword bordTimeSec, word boardTimeMs, dword seqNo)Sets the message’s timestamp according to the UDP timing data supplied.

• void setFpgaTimestamp (word bfn, byte slot, word chip)Sets the message’s timestamp according to the FPGA timing data supplied.

Private Types

• typedef local::xBaseMessage< ContextT > BaseMessageImplImplementation.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 124: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.1 stm::tools::BaseMessage< ContextT > Class Template Reference 123

12.1.2 Member Typedef Documentation

12.1.2.1 template<class ContextT> typedef local::xBaseMessage<ContextT>stm::tools::BaseMessage< ContextT >::BaseMessageImpl [private]

Implementation.

Definition at line 187 of file binmsg.hpp.

12.1.2.2 template<class ContextT> typedef ContextT stm::tools::BaseMessage< ContextT>::context_type

Context type of the messages to be scanned.

Reimplemented from stm::tools::local::xBaseMessage< ContextT >.

Reimplemented in stm::tools::McBspMessage< ContextT >, and stm::tools::PrintkBinMessage< Con-textT >.

Definition at line 191 of file binmsg.hpp.

12.1.2.3 template<class ContextT> typedef BaseMessage<ContextT> stm::tools::BaseMessage<ContextT >::basemessage_type

This type.

Reimplemented in stm::tools::McBspMessage< ContextT >, and stm::tools::PrintkBinMessage< Con-textT >.

Definition at line 194 of file binmsg.hpp.

12.1.2.4 template<class ContextT> typedef context_type::Timestamp stm::tools::BaseMessage<ContextT >::Timestamp

Timestamp type.

Reimplemented from stm::tools::local::xBaseMessage< ContextT >.

Definition at line 197 of file binmsg.hpp.

12.1.3 Member Enumeration Documentation

12.1.3.1 template<class ContextT> anonymous enum

Scanned input data are organized as 32 bit words.

Enumerator:

WordSize

Definition at line 200 of file binmsg.hpp.

12.1.3.2 template<class ContextT> anonymous enum

Bitwise orable flag bits.

Enumerator:

NoFlags

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 125: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.1 stm::tools::BaseMessage< ContextT > Class Template Reference 124

ThrowOnError

Definition at line 206 of file binmsg.hpp.

12.1.3.3 template<class ContextT> anonymous enum

Status values.

Enumerator:

NoErrorOutOfSyncConsistencyError

Definition at line 213 of file binmsg.hpp.

12.1.4 Constructor & Destructor Documentation

12.1.4.1 template<class ContextT> stm::tools::BaseMessage< ContextT >::∼BaseMessage ()[inline, virtual]

Virtual destructor to allow polymorphic class hierarchies.

Definition at line 476 of file xbinmsg.hpp.

12.1.4.2 template<class ContextT> stm::tools::BaseMessage< ContextT >::BaseMessage (constbyte ∗ first, const byte ∗ last, context_type & context, dword flags = NoFlags, dword status =NoError) [inline, protected]

Since BaseMessage is an abstract base class, this constructor is used only by derived classes.

Definition at line 463 of file xbinmsg.hpp.

12.1.5 Member Function Documentation

12.1.5.1 template<class ContextT> virtual const std::string& stm::tools::BaseMessage< ContextT>::type () const [pure virtual]

Return the message type string.

Implemented in stm::tools::McBspMessage< ContextT >, and stm::tools::PrintkBinMessage< ContextT>.

12.1.5.2 template<class ContextT> dword stm::tools::BaseMessage< ContextT >::flags () const[inline]

Returns the flags of the message.

Definition at line 481 of file xbinmsg.hpp.

References stm::tools::local::xBaseMessage< ContextT >::flags_.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 126: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.1 stm::tools::BaseMessage< ContextT > Class Template Reference 125

12.1.5.3 template<class ContextT> dword stm::tools::BaseMessage< ContextT >::status () const[inline]

Returns the status of the message.

Definition at line 488 of file xbinmsg.hpp.

References stm::tools::local::xBaseMessage< ContextT >::status_.

12.1.5.4 template<class ContextT> const BaseMessage< ContextT >::Timestamp &stm::tools::BaseMessage< ContextT >::timestamp () const [inline]

Returns a reference to the message’s timestamp.

Definition at line 505 of file xbinmsg.hpp.

References stm::tools::local::xBaseMessage< ContextT >::timestamp_.

Referenced by stm::tools::BaseMessage< ContextT >::setFpgaTimestamp(), andstm::tools::BaseMessage< ContextT >::setUdpTimestamp().

12.1.5.5 template<class ContextT> BaseMessage< ContextT >::context_type &stm::tools::BaseMessage< ContextT >::context () [inline]

Returns the the message’s context.

Definition at line 514 of file xbinmsg.hpp.

12.1.5.6 template<class ContextT> const byte_iterator_range & stm::tools::BaseMessage< Con-textT >::body () const [inline]

Returns the byte range consisting of the message’s body excluding any padding bytes.

Definition at line 521 of file xbinmsg.hpp.

References stm::tools::local::xBaseMessage< ContextT >::body_.

12.1.5.7 template<class ContextT> void stm::tools::BaseMessage< ContextT >::setStatus (dwordval) [inline, protected]

Sets the status of the message to val.

Definition at line 495 of file xbinmsg.hpp.

References stm::tools::local::xBaseMessage< ContextT >::status_.

12.1.5.8 template<class ContextT> void stm::tools::BaseMessage< ContextT >::setBody (constbyte_iterator_range & body) [inline, protected]

Sets the the byte range consisting of the message’s body excluding any padding bytes.

Definition at line 528 of file xbinmsg.hpp.

References stm::tools::local::xBaseMessage< ContextT >::body_.

12.1.5.9 template<class ContextT> void stm::tools::BaseMessage< ContextT>::setUdpTimestamp (word bfn, dword bordTimeSec, word boardTimeMs, dword seqNo)[inline, protected]

Sets the message’s timestamp according to the UDP timing data supplied.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 127: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.2 stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT > Class TemplateReference 126

As this member is intended to be called from a constructor of a derived class, logic_errror is thrown, if themessage’s timestamp already was valid.

Definition at line 537 of file xbinmsg.hpp.

References stm::tools::local::xBaseMessage< ContextT >::setTimestamp(), andstm::tools::BaseMessage< ContextT >::timestamp().

12.1.5.10 template<class ContextT> void stm::tools::BaseMessage< ContextT>::setFpgaTimestamp (word bfn, byte slot, word chip) [inline, protected]

Sets the message’s timestamp according to the FPGA timing data supplied.

As this member is intended to be called from a constructor of a derived class, logic_errror is thrown, if themessage’s timestamp already was valid.

Definition at line 555 of file xbinmsg.hpp.

References stm::tools::local::xBaseMessage< ContextT >::setTimestamp(), andstm::tools::BaseMessage< ContextT >::timestamp().

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

• binmsg.hpp• xbinmsg.hpp

12.2 stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT > ClassTemplate Reference

#include <binmsg.hpp>

Inheritance diagram for stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >:

stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >

stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >

stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >

Collaboration diagram for stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >:

stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >

stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >

stm::tools::MsgTimestamp

timestamp_

stm::tools::local::xMsgTimestamp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 128: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.2 stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT > Class TemplateReference 127

12.2.1 Detailed Description

template<class DataT, class InputRangeT, class ContextT> class stm::tools::BaseMessageContext<DataT, InputRangeT, ContextT >

Base message context type which shall be a direct or indirect public base class of its template parameterContextT.

ContextT shall have a constructor taking a DataT reference as its first and an InputRangeT reference as itssecond and last parameter, where InputRangeT shall be a specialization of stm::inputrange or be publiclyderived therefrom.

Definition at line 110 of file binmsg.hpp.

Public Types

• typedef DataT data_typeType modelling the specialities of the kind of messages to be scanned.

• typedef InputRangeT inputrange_typeType representing a range of input files containing the messages to be scanned.

• typedef ContextT context_typeContext type of the messages to be scanned.

• typedef MsgTimestamp TimestampTimestamp type.

Public Member Functions

• BaseMessageContext (data_type &data, inputrange_type &input)Constructs a BaseMessageContext object storing the data and input of the messages to be scanned.

• const std::string & type () constReturn the message context’s type string.

• void setType (const std::string &type)Set the message context’s type string.

• const Timestamp & timestamp () constReturns the message context’s timestamp reference.

• void setTimestamp (const Timestamp &timestamp)Set the message context’s timestamp.

• data_type & data ()Returns the the message context’s data reference.

• inputrange_type & input ()Returns the the message context’s input range reference.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 129: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.2 stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT > Class TemplateReference 128

Private Types

• typedef local::xBaseMessageContext< DataT, InputRangeT, ContextT > BaseMessageCon-textImpl

Implementation.

12.2.2 Member Typedef Documentation

12.2.2.1 template<class DataT, class InputRangeT, class ContextT> typedeflocal::xBaseMessageContext< DataT, InputRangeT, ContextT > stm::tools::BaseMessageContext<DataT, InputRangeT, ContextT >::BaseMessageContextImpl [private]

Implementation.

Definition at line 119 of file binmsg.hpp.

12.2.2.2 template<class DataT, class InputRangeT, class ContextT> typedef DataTstm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >::data_type

Type modelling the specialities of the kind of messages to be scanned.

Reimplemented from stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >.

Reimplemented in stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >.

Definition at line 123 of file binmsg.hpp.

12.2.2.3 template<class DataT, class InputRangeT, class ContextT> typedef InputRangeTstm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >::inputrange_type

Type representing a range of input files containing the messages to be scanned.

Reimplemented from stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >.

Reimplemented in stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >.

Definition at line 127 of file binmsg.hpp.

12.2.2.4 template<class DataT, class InputRangeT, class ContextT> typedef ContextTstm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >::context_type

Context type of the messages to be scanned.

Reimplemented from stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >.

Reimplemented in stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >.

Definition at line 130 of file binmsg.hpp.

12.2.2.5 template<class DataT, class InputRangeT, class ContextT> typedef MsgTimestampstm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >::Timestamp

Timestamp type.

Reimplemented from stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >.

Definition at line 133 of file binmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 130: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.2 stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT > Class TemplateReference 129

12.2.3 Constructor & Destructor Documentation

12.2.3.1 template<class DataT, class InputRangeT, class ContextT>stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >::BaseMessageContext(data_type & data, inputrange_type & input) [inline]

Constructs a BaseMessageContext object storing the data and input of the messages to be scanned.

Definition at line 577 of file xbinmsg.hpp.

12.2.4 Member Function Documentation

12.2.4.1 template<class DataT, class InputRangeT, class ContextT> const std::string &stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >::type () const [inline]

Return the message context’s type string.

This is a neutral string before any message has been read or the type string of the last successfully readmessage.

Definition at line 587 of file xbinmsg.hpp.

References stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >::type_.

12.2.4.2 template<class DataT, class InputRangeT, class ContextT> voidstm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >::setType (const std::string &type) [inline]

Set the message context’s type string.

Definition at line 596 of file xbinmsg.hpp.

References stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >::type_.

12.2.4.3 template<class DataT, class InputRangeT, class ContextT> const BaseMessageContext<DataT, InputRangeT, ContextT >::Timestamp & stm::tools::BaseMessageContext< DataT, Inpu-tRangeT, ContextT >::timestamp () const [inline]

Returns the message context’s timestamp reference.

This is an invalid timestamp before any message has been read or the timestamp of the last sucessfully readmessage.

Definition at line 608 of file xbinmsg.hpp.

References stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >::timestamp_.

12.2.4.4 template<class DataT, class InputRangeT, class ContextT> voidstm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >::setTimestamp (constTimestamp & timestamp) [inline]

Set the message context’s timestamp.

Definition at line 617 of file xbinmsg.hpp.

References stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >::timestamp_.

12.2.4.5 template<class DataT, class InputRangeT, class ContextT> BaseMessageContext< DataT,InputRangeT, ContextT >::data_type & stm::tools::BaseMessageContext< DataT, InputRangeT,

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 131: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.3 stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy > Class TemplateReference 130

ContextT >::data () [inline]

Returns the the message context’s data reference.

Definition at line 629 of file xbinmsg.hpp.

References stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >::data_.

12.2.4.6 template<class DataT, class InputRangeT, class ContextT> BaseMessageContext< DataT,InputRangeT, ContextT >::inputrange_type & stm::tools::BaseMessageContext< DataT, Inpu-tRangeT, ContextT >::input () [inline]

Returns the the message context’s input range reference.

Definition at line 638 of file xbinmsg.hpp.

References stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >::input_.

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

• binmsg.hpp• xbinmsg.hpp

12.3 stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy > ClassTemplate Reference

#include <loggeraids.hpp>

Inheritance diagram for stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >:

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >< std::string, stdIndent, lineLength, lockingPolicy >

stm::basic_logger< std::wstring, stdIndent, lineLength, lockingPolicy >< std::wstring, stdIndent, lineLength, lockingPolicy >

stm::logger_base

stm::local::basic_xlogger< StringT, lockingPolicy >

stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >

stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >

Collaboration diagram for stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >:

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

stm::logger_base stm::local::basic_xlogger< StringT, lockingPolicy >

stm::local::basic_xlogger< StringT, lockingPolicy >::Stream

output

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt

fmt

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 132: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.3 stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy > Class TemplateReference 131

12.3.1 Detailed Description

template<class StringT, word stdIndent = 4, word lineLength = 79, word lockingPolicy = logger_-base::NoLocking> class stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

Class template to manage formatted logging on an output stream (normally a log file) and optionally on asecond stream (normally a console) and on the system log (see stm::syslog()).

The template parameter StringT shall be a std::basic_string (23.3) specialization. Since basic_logger ispublicly derived from a StringT based std::basic_ostringstream (27.7.3), data insertion into basic_loggerobjects is easily possible. On construction the base class std::basic_ostingstream object is default con-structed and then initialized to use uppercase letters for hexadecimal numbers and to use right adjustedfixed point notation for floating point numbers.

If formatted printig to a stream is done, the default value for indentation is given by the template parameterstdIndent and the default line length is given by the template parameter lineLength.

According to the template parameter lockingPolicy either no locking is possible (logger_base::NoLocking)or an unnamed mutex (see Abstract Data Type StmMutex) for logger_base::ProcessLocking or anamed mutex (see Abstract Data Type StmNamedMutex) for logger_base::SystemLocking is used bystm::basic_logger::locker to perform locking across all threads of the calling process or across all threadsof the system, respectively. The mutex name for system-wide locking has to be supplied to the constructorof stm::basic_logger.

Definition at line 165 of file loggeraids.hpp.

Public Types

• enum {

StdIndent = stdIndent,

LineLength = lineLength,

LockingPolicy = lockingPolicy }• enum FmtFlags {

NoFlag = impl::NoFlag,

Indent = impl::Indent,

NoPara = impl::NoPara,

KeepWs = impl::KeepWs,

AutoInd = impl::AutoInd,

ColonInd = impl::ColonInd,

ColonTable = impl::ColonTable,

RiJust = impl::RiJust,

RawPath = impl::RawPath,

Single = impl::Single }Format information flags.

• typedef basic_logger< StringT, stdIndent, lineLength, lockingPolicy > logger_typeThis basic_logger type.

• typedef StringT string_typeString type.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 133: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.3 stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy > Class TemplateReference 132

• typedef std::basic_ostream< typename string_type::value_type, typename string_type::traits_type >ostream_type

Output stream type.

• typedef impl::char_type char_typeCharacter type.

Public Member Functions

• basic_logger (const std::string &mutexName=std::string())Default constructor for a basic_logger object not to print.

• basic_logger (const logger_type &other)Copy constructor.

• basic_logger (ostream_type &stream, const std::string &mutexName=std::string())Construct a basic_logger object to print on stream.

• basic_logger (ostream_type &stream, ostream_type &console, const std::string &mutex-Name=std::string())

Construct a basic_logger object to print on stream and on console.

• ∼basic_logger ()Destroy a basic_logger object.

• bool hasStream () constReturn true, if this basic_logger object has a stream, else false.

• void setStream (ostream_type &stream)Configure this basic_logger object to print on stream.

• void unsetStream ()Configure this basic_logger object to print on no stream.

• bool hasConsole () constReturn true, if this basic_logger object has a console, else false.

• void setConsole (ostream_type &console)Configure this basic_logger object to print on console.

• void unsetConsole ()Configure this basic_logger object to print on no console.

• int adjustChild ()Adjust this basic_logger object after a call to fork().

• int operator() (Fmt streamFmt=Fmt(), Fmt consoleFmt=Fmt())Print the contents of the string stream base of this basic_logger to the streams configured and then clear it.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 134: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.4 stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::Fmt Struct Reference133

• int underline (int n, char_type ch=char_type(’=’), dword nl=1)Print character ch (default ’=’) n times to the streams configured, followed by nl times (default 1) thenewline character.

• int paragraph (dword nl=1)Print on each configured stream as much newlines that at least nl empty lines are present after the lastrecently printed non empty line.

Static Public Member Functions

• static string_type mkPath (const string_type &str)Return a copy of str, if str does not contain white space, else str quoted by ’"’ characters.

Private Types

• typedef local::basic_xlogger< StringT, lockingPolicy > implImplementation.

Classes

• struct FmtFormat information for output streams.

• struct lockerScoped locking for output streams.

12.3.2 Member Typedef Documentation

12.3.2.1 template<class StringT, word stdIndent = 4, word lineLength = 79, word lockingPol-icy = logger_base::NoLocking> typedef local::basic_xlogger<StringT, lockingPolicy> stm::basic_-logger< StringT, stdIndent, lineLength, lockingPolicy >::impl [private]

Implementation.

Definition at line 176 of file loggeraids.hpp.

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

• loggeraids.hpp• loggerxaids.hpp

12.4 stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::FmtStruct Reference

#include <loggeraids.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 135: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.5 stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::locker Struct Reference134

Inheritance diagram for stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::Fmt:

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::Fmt

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt

Collaboration diagram for stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::Fmt:

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::Fmt

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt

12.4.1 Detailed Description

template<class StringT, word stdIndent = 4, word lineLength = 79, word lockingPolicy = logger_-base::NoLocking> struct stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::Fmt

Format information for output streams.

Definition at line 240 of file loggeraids.hpp.

Public Member Functions

• Fmt ()Default constructor building an object with no format information.

• Fmt (word flags, word indent=StdIndent, word length=LineLength)Constructs an object with format information flags, indent and length.

12.4.2 Constructor & Destructor Documentation

12.4.2.1 template<class StringT, word stdIndent, word lineLength, word lockingPolicy>stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::Fmt::Fmt () [inline]

Default constructor building an object with no format information.

Definition at line 1070 of file loggerxaids.hpp.

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

• loggeraids.hpp• loggerxaids.hpp

12.5 stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::lockerStruct Reference

#include <loggeraids.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 136: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.5 stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::locker Struct Reference135

Inheritance diagram for stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::locker:

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::locker

stm::local::basic_xlogger< StringT, lockingPolicy >::locker

Collaboration diagram for stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::locker:

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::locker

stm::local::basic_xlogger< StringT, lockingPolicy >::locker

12.5.1 Detailed Description

template<class StringT, word stdIndent = 4, word lineLength = 79, word lockingPolicy =logger_base::NoLocking> struct stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy>::locker

Scoped locking for output streams.

For locking policy logger_base::NoLocking an object instantiation causes a std::logic_error exception tobe thrown. For locking policies logger_base::ProcessLocking and logger_base::sytemLocking locker isderived from stm::scoped_lock and stm::system_scoped_lock, respectively.

Definition at line 262 of file loggeraids.hpp.

Public Types

• typedef basic_logger< StringT, stdIndent, lineLength, lockingPolicy > logger_typeThe type of the object to be locked.

Public Member Functions

• locker (const logger_type &logger)Construct a scoped lock for logger.

• ∼locker ()Destructor.

12.5.2 Member Typedef Documentation

12.5.2.1 template<class StringT, word stdIndent = 4, word lineLength = 79, word lockingPolicy= logger_base::NoLocking> typedef basic_logger< StringT, stdIndent, lineLength, lockingPolicy >stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::locker::logger_type

The type of the object to be locked.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 137: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.6 stm::local::basic_xlogger< StringT, lockingPolicy > Class Template Reference 136

Definition at line 271 of file loggeraids.hpp.

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

• loggeraids.hpp• loggerxaids.hpp

12.6 stm::local::basic_xlogger< StringT, lockingPolicy > Class Template Refer-ence

#include <loggerxaids.hpp>

Inheritance diagram for stm::local::basic_xlogger< StringT, lockingPolicy >:

stm::local::basic_xlogger< StringT, lockingPolicy > stm::basic_logger< StringT, lockingPolicy >

stm::local::basic_xlogger< std::wstring, lockingPolicy >

< std::wstring, lockingPolicy >

stm::local::basic_xlogger< std::string, lockingPolicy >< std::string, lockingPolicy >

stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >< std::string, stdIndent, lineLength, lockingPolicy >

stm::basic_logger< std::wstring, stdIndent, lineLength, lockingPolicy >

< std::wstring, stdIndent, lineLength, lockingPolicy >

stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >

stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >

Collaboration diagram for stm::local::basic_xlogger< StringT, lockingPolicy >:

stm::local::basic_xlogger< StringT, lockingPolicy >

stm::local::basic_xlogger< StringT, lockingPolicy >::Stream

output

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt

fmt

12.6.1 Detailed Description

template<class StringT, word lockingPolicy> class stm::local::basic_xlogger< StringT, lockingPol-icy >

stm::basic_logger implementation base class template.

Definition at line 143 of file loggerxaids.hpp.

Protected Types

• enum { Streams = 2 }• enum {

NoFlag = 0x0000,

Indent = 0x0100,

NoPara = 0x0200,

KeepWs = 0x0400,

AutoInd = 0x0800,

ColonInd = 0x1000,

ColonTable = ColonInd | KeepWs,

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 138: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.6 stm::local::basic_xlogger< StringT, lockingPolicy > Class Template Reference 137

RiJust = 0x2000,

RawPath = 0x4000,

Single = 0x8000 }• typedef StringT string_type• typedef std::basic_ostream< typename string_type::value_type, typename string_type::traits_type >

ostream_type• typedef string_type::value_type char_type• typedef boost::mpl::int_< lockingPolicy > locking

Evaluates to boost::mpl::int_<0> for no locking, to boost::mpl::int_<1> not system-wide and toboost::mpl::int_<2> for system-wide lockable specializations.

• typedef boost::mpl::if_c< lockingPolicy==logger_base::NoLocking, no_lock, typenameboost::mpl::if_c< lockingPolicy==logger_base::ProcessLocking, stm::scoped_lock, stm::system_-scoped_lock >::type >::type locker_base

Protected Member Functions

• basic_xlogger (boost::mpl::int_< logger_base::NoLocking >, const std::string &, ostream_type∗pStream=NULL, ostream_type ∗pConsole=NULL)

Construct a basic_xlogger object to print on the configured streams.

• basic_xlogger (boost::mpl::int_< logger_base::ProcessLocking >, const std::string &, ostream_type∗pStream=NULL, ostream_type ∗pConsole=NULL)

Construct a basic_xlogger object to print on the configured streams.

• basic_xlogger (boost::mpl::int_< logger_base::SystemLocking >, const std::string &mutexName,ostream_type ∗pStream=NULL, ostream_type ∗pConsole=NULL)

Construct a basic_xlogger object to print on the configured streams.

• void destroySync (boost::mpl::int_< logger_base::NoLocking >)Dummy operation.

• void destroySync (boost::mpl::int_< logger_base::ProcessLocking >)Destroy the mutex object of a basic_xlogger object.

• void destroySync (boost::mpl::int_< logger_base::SystemLocking >)Destroy the mutex of a basic_xlogger object.

• int adjustSync (boost::mpl::int_< logger_base::NoLocking >)Dummy operation.

• int adjustSync (boost::mpl::int_< logger_base::ProcessLocking >)Dummy operation.

• int adjustSync (boost::mpl::int_< logger_base::SystemLocking >)Dummy operation on systems without fork system call, else adjust the named mutex of a basic_xloggerobject after a call to fork().

• int printch (char_type ch, dword n, bool para=false)Print ch n times to the streams configured.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 139: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.6 stm::local::basic_xlogger< StringT, lockingPolicy > Class Template Reference 138

• bool tprint (const string_type &sep, const string_type &token, bool lastToken)Print token preceded by sep accordingly formatted.

• void clearNls ()

Protected Attributes

• Stream output [Streams]Array of streams to output to, if its elements are not NULL.

• boost::mpl::if_c< lockingPolicy==logger_base::NoLocking, boost::mpl::void_, typenameboost::mpl::if_c< lockingPolicy==logger_base::ProcessLocking, StmMutex, StmNamedMu-tex >::type >::type sync_

Sync type object according to the locking policy.

Static Protected Attributes

• static const char_type psep_ [ ]Path separator characters ’/’ and ’\’.

• static const size_t PsepLen = sizeof (psep_) / sizeof (char_type)Number of path separator characters.

Classes

• struct Fmt• class locker• class no_lock

Dummy type for no locking.

• struct Stream

12.6.2 Member Typedef Documentation

12.6.2.1 template<class StringT, word lockingPolicy> typedef StringT stm::local::basic_xlogger<StringT, lockingPolicy >::string_type [protected]

Reimplemented in stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >, stm::basic_-logger< std::string, stdIndent, lineLength, lockingPolicy >, and stm::basic_logger< std::wstring, stdIn-dent, lineLength, lockingPolicy >.

Definition at line 146 of file loggerxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 140: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.6 stm::local::basic_xlogger< StringT, lockingPolicy > Class Template Reference 139

12.6.2.2 template<class StringT, word lockingPolicy> typedef std::basic_ostream< typenamestring_type::value_type, typename string_type::traits_type > stm::local::basic_xlogger< StringT,lockingPolicy >::ostream_type [protected]

Reimplemented in stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >, stm::basic_-logger< std::string, stdIndent, lineLength, lockingPolicy >, and stm::basic_logger< std::wstring, stdIn-dent, lineLength, lockingPolicy >.

Definition at line 152 of file loggerxaids.hpp.

12.6.2.3 template<class StringT, word lockingPolicy> typedef string_type::value_typestm::local::basic_xlogger< StringT, lockingPolicy >::char_type [protected]

Reimplemented in stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >, stm::basic_-logger< std::string, stdIndent, lineLength, lockingPolicy >, and stm::basic_logger< std::wstring, stdIn-dent, lineLength, lockingPolicy >.

Definition at line 154 of file loggerxaids.hpp.

12.6.2.4 template<class StringT, word lockingPolicy> typedef boost::mpl::int_<lockingPolicy>stm::local::basic_xlogger< StringT, lockingPolicy >::locking [protected]

Evaluates to boost::mpl::int_<0> for no locking, to boost::mpl::int_<1> not system-wide and toboost::mpl::int_<2> for system-wide lockable specializations.

Definition at line 226 of file loggerxaids.hpp.

12.6.2.5 template<class StringT, word lockingPolicy> typedef boost::mpl::if_c< locking-Policy == logger_base::NoLocking, no_lock, typename boost::mpl::if_c < lockingPolicy ==logger_base::ProcessLocking, stm::scoped_lock, stm::system_scoped_lock >::type >::typestm::local::basic_xlogger< StringT, lockingPolicy >::locker_base [protected]

Definition at line 248 of file loggerxaids.hpp.

12.6.3 Member Enumeration Documentation

12.6.3.1 template<class StringT, word lockingPolicy> anonymous enum [protected]

Enumerator:

Streams

Definition at line 156 of file loggerxaids.hpp.

12.6.3.2 template<class StringT, word lockingPolicy> anonymous enum [protected]

Enumerator:

NoFlagIndentNoParaKeepWsAutoInd

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 141: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.6 stm::local::basic_xlogger< StringT, lockingPolicy > Class Template Reference 140

ColonIndColonTableRiJustRawPathSingle

Definition at line 161 of file loggerxaids.hpp.

12.6.4 Constructor & Destructor Documentation

12.6.4.1 template<class StringT, word lockingPolicy> stm::local::basic_xlogger< StringT, lock-ingPolicy >::basic_xlogger (boost::mpl::int_< logger_base::NoLocking >, const std::string &,ostream_type ∗ pStream = NULL, ostream_type ∗ pConsole = NULL) [inline, protected]

Construct a basic_xlogger object to print on the configured streams.

Only instantiated for non-lockable specializations.

Definition at line 267 of file loggerxaids.hpp.

12.6.4.2 template<class StringT, word lockingPolicy> stm::local::basic_xlogger< StringT, lock-ingPolicy >::basic_xlogger (boost::mpl::int_< logger_base::ProcessLocking >, const std::string &,ostream_type ∗ pStream = NULL, ostream_type ∗ pConsole = NULL) [inline, protected]

Construct a basic_xlogger object to print on the configured streams.

Only instantiated for non-system-wide lockable specializations.

Definition at line 284 of file loggerxaids.hpp.

12.6.4.3 template<class StringT, word lockingPolicy> stm::local::basic_xlogger< StringT, lock-ingPolicy >::basic_xlogger (boost::mpl::int_< logger_base::SystemLocking >, const std::string &mutexName, ostream_type ∗ pStream = NULL, ostream_type ∗ pConsole = NULL) [inline,protected]

Construct a basic_xlogger object to print on the configured streams.

Only instantiated for system-wide lockable specializations.

Definition at line 302 of file loggerxaids.hpp.

12.6.5 Member Function Documentation

12.6.5.1 template<class StringT, word lockingPolicy> void stm::local::basic_xlogger< StringT,lockingPolicy >::destroySync (boost::mpl::int_< logger_base::NoLocking >) [inline,protected]

Dummy operation.

Only instantiated for non-lockable specializations.

Definition at line 329 of file loggerxaids.hpp.

Referenced by stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::∼basic_logger().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 142: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.6 stm::local::basic_xlogger< StringT, lockingPolicy > Class Template Reference 141

12.6.5.2 template<class StringT, word lockingPolicy> void stm::local::basic_xlogger< StringT,lockingPolicy >::destroySync (boost::mpl::int_< logger_base::ProcessLocking >) [inline,protected]

Destroy the mutex object of a basic_xlogger object.

Only instantiated for non-system-wide lockable specializations.

Definition at line 337 of file loggerxaids.hpp.

12.6.5.3 template<class StringT, word lockingPolicy> void stm::local::basic_xlogger< StringT,lockingPolicy >::destroySync (boost::mpl::int_< logger_base::SystemLocking >) [inline,protected]

Destroy the mutex of a basic_xlogger object.

Only instantiated for system-wide lockable specializations.

Definition at line 347 of file loggerxaids.hpp.

12.6.5.4 template<class StringT, word lockingPolicy> int stm::local::basic_xlogger< StringT,lockingPolicy >::adjustSync (boost::mpl::int_< logger_base::NoLocking >) [inline,protected]

Dummy operation.

Only instantiated for non-lockable specializations.

Definition at line 357 of file loggerxaids.hpp.

Referenced by stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::adjustChild().

12.6.5.5 template<class StringT, word lockingPolicy> int stm::local::basic_xlogger< StringT,lockingPolicy >::adjustSync (boost::mpl::int_< logger_base::ProcessLocking >) [inline,protected]

Dummy operation.

Only instantiated for non-system-wide lockable specializations.

Definition at line 365 of file loggerxaids.hpp.

12.6.5.6 template<class StringT, word lockingPolicy> int stm::local::basic_xlogger< StringT,lockingPolicy >::adjustSync (boost::mpl::int_< logger_base::SystemLocking >) [inline,protected]

Dummy operation on systems without fork system call, else adjust the named mutex of a basic_xloggerobject after a call to fork().

Only instantiated for system-wide lockable specializations.

Definition at line 374 of file loggerxaids.hpp.

12.6.5.7 template<class StringT, word lockingPolicy> int stm::local::basic_xlogger< StringT,lockingPolicy >::printch (char_type ch, dword n, bool para = false) [inline, protected]

Print ch n times to the streams configured.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 143: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.6 stm::local::basic_xlogger< StringT, lockingPolicy > Class Template Reference 142

The operation is ended on the first error occurred in which case a negative value is returned, or else thenumber of characters written to the last stream configured. If no stream is configured, 0 is returned.

Definition at line 384 of file loggerxaids.hpp.

Referenced by stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::operator()(), andstm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::underline().

12.6.5.8 template<class StringT, word lockingPolicy> bool stm::local::basic_xlogger< StringT,lockingPolicy >::tprint (const string_type & sep, const string_type & token, bool lastToken)[inline, protected]

Print token preceded by sep accordingly formatted.

Definition at line 408 of file loggerxaids.hpp.

Referenced by stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::operator()().

12.6.5.9 template<class StringT, word lockingPolicy> void stm::local::basic_xlogger< StringT,lockingPolicy >::clearNls () [inline, protected]

Definition at line 586 of file loggerxaids.hpp.

Referenced by stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::operator()(), andstm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::underline().

12.6.6 Member Data Documentation

12.6.6.1 template<class StringT, word lockingPolicy> Stream stm::local::basic_xlogger< StringT,lockingPolicy >::output[Streams] [protected]

Array of streams to output to, if its elements are not NULL.

Definition at line 597 of file loggerxaids.hpp.

Referenced by stm::local::basic_xlogger< std::string, lockingPolicy >::basic_xlogger(),stm::local::basic_xlogger< std::string, lockingPolicy >::clearNls(), stm::basic_logger< StringT,stdIndent, lineLength, lockingPolicy >::hasConsole(), stm::basic_logger< StringT, stdIndent, line-Length, lockingPolicy >::operator()(), stm::basic_logger< StringT, stdIndent, lineLength, locking-Policy >::paragraph(), stm::local::basic_xlogger< std::string, lockingPolicy >::printch(), stm::basic_-logger< StringT, stdIndent, lineLength, lockingPolicy >::setConsole(), stm::local::basic_xlogger<std::string, lockingPolicy >::tprint(), stm::basic_logger< StringT, stdIndent, lineLength, locking-Policy >::unsetConsole(), and stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy>::unsetStream().

12.6.6.2 template<class StringT, word lockingPolicy> boost::mpl::if_c< lockingPolicy == logger_-base::NoLocking, boost::mpl::void_, typename boost::mpl::if_c < lockingPolicy == logger_-base::ProcessLocking, StmMutex, StmNamedMutex >::type >::type stm::local::basic_xlogger<StringT, lockingPolicy >::sync_ [mutable, protected]

Sync type object according to the locking policy.

Definition at line 610 of file loggerxaids.hpp.

Referenced by stm::local::basic_xlogger< std::string, lockingPolicy >::adjustSync(), andstm::local::basic_xlogger< std::string, lockingPolicy >::destroySync().

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

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 144: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.7 stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt Struct Reference 143

• loggerxaids.hpp

12.7 stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt Struct Reference

#include <loggerxaids.hpp>

Inheritance diagram for stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt:

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::Fmt

12.7.1 Detailed Description

template<class StringT, word lockingPolicy> struct stm::local::basic_xlogger< StringT, lockingPol-icy >::Fmt

Definition at line 175 of file loggerxaids.hpp.

Public Member Functions

• Fmt (word flags=NoFlag, word indent=0, word length=0)• bool operator== (const Fmt &other) const

Public Attributes

• dword indent_: 16• dword minIndent_: 16• dword length_: 16• dword flags_: 16

12.7.2 Constructor & Destructor Documentation

12.7.2.1 template<class StringT, word lockingPolicy> stm::local::basic_xlogger< StringT, lock-ingPolicy >::Fmt::Fmt (word flags = NoFlag, word indent = 0, word length = 0) [inline]

Reimplemented in stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::Fmt.

Definition at line 177 of file loggerxaids.hpp.

References stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt::flags_, stm::local::basic_xlogger<StringT, lockingPolicy >::Indent, stm::LogLevelMask, and stm::local::basic_xlogger< StringT, locking-Policy >::Single.

12.7.3 Member Function Documentation

12.7.3.1 template<class StringT, word lockingPolicy> bool stm::local::basic_xlogger< StringT,lockingPolicy >::Fmt::operator== (const Fmt & other) const [inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 145: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.8 stm::local::basic_xlogger< StringT, lockingPolicy >::locker Class Reference 144

Definition at line 189 of file loggerxaids.hpp.

References stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt::flags_, stm::local::basic_-xlogger< StringT, lockingPolicy >::Fmt::indent_, stm::local::basic_xlogger< StringT, lockingPolicy>::Fmt::length_, and stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt::minIndent_.

12.7.4 Member Data Documentation

12.7.4.1 template<class StringT, word lockingPolicy> dword stm::local::basic_xlogger< StringT,lockingPolicy >::Fmt::indent_

Definition at line 198 of file loggerxaids.hpp.

Referenced by stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt::operator==(), andstm::local::basic_xlogger< std::string, lockingPolicy >::tprint().

12.7.4.2 template<class StringT, word lockingPolicy> dword stm::local::basic_xlogger< StringT,lockingPolicy >::Fmt::minIndent_

Definition at line 199 of file loggerxaids.hpp.

Referenced by stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt::operator==(), andstm::local::basic_xlogger< std::string, lockingPolicy >::tprint().

12.7.4.3 template<class StringT, word lockingPolicy> dword stm::local::basic_xlogger< StringT,lockingPolicy >::Fmt::length_

Definition at line 200 of file loggerxaids.hpp.

Referenced by stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt::operator==(), andstm::local::basic_xlogger< std::string, lockingPolicy >::tprint().

12.7.4.4 template<class StringT, word lockingPolicy> dword stm::local::basic_xlogger< StringT,lockingPolicy >::Fmt::flags_

Definition at line 201 of file loggerxaids.hpp.

Referenced by stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt::Fmt(), stm::basic_logger<StringT, stdIndent, lineLength, lockingPolicy >::operator()(), stm::local::basic_xlogger< StringT, lock-ingPolicy >::Fmt::operator==(), and stm::local::basic_xlogger< std::string, lockingPolicy >::tprint().

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

• loggerxaids.hpp

12.8 stm::local::basic_xlogger< StringT, lockingPolicy >::locker Class Reference

#include <loggerxaids.hpp>

Inheritance diagram for stm::local::basic_xlogger< StringT, lockingPolicy >::locker:

stm::local::basic_xlogger< StringT, lockingPolicy >::locker

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::locker

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 146: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.9 stm::local::basic_xlogger< StringT, lockingPolicy >::no_lock Class Reference 145

12.8.1 Detailed Description

template<class StringT, word lockingPolicy> class stm::local::basic_xlogger< StringT, lockingPol-icy >::locker

Definition at line 250 of file loggerxaids.hpp.

Protected Member Functions

• locker (const basic_xlogger< StringT, lockingPolicy > &logger)• ∼locker ()

12.8.2 Constructor & Destructor Documentation

12.8.2.1 template<class StringT, word lockingPolicy> stm::local::basic_xlogger< StringT, lock-ingPolicy >::locker::locker (const basic_xlogger< StringT, lockingPolicy > & logger) [inline,protected]

Definition at line 254 of file loggerxaids.hpp.

12.8.2.2 template<class StringT, word lockingPolicy> stm::local::basic_xlogger< StringT, lock-ingPolicy >::locker::∼locker () [inline, protected]

Reimplemented in stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::locker.

Definition at line 260 of file loggerxaids.hpp.

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

• loggerxaids.hpp

12.9 stm::local::basic_xlogger< StringT, lockingPolicy >::no_lock Class Refer-ence

#include <loggerxaids.hpp>

12.9.1 Detailed Description

template<class StringT, word lockingPolicy> class stm::local::basic_xlogger< StringT, lockingPol-icy >::no_lock

Dummy type for no locking.

Definition at line 229 of file loggerxaids.hpp.

Public Member Functions

• no_lock (boost::mpl::void_)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 147: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.10 stm::local::basic_xlogger< StringT, lockingPolicy >::Stream Struct Reference 146

12.9.2 Constructor & Destructor Documentation

12.9.2.1 template<class StringT, word lockingPolicy> stm::local::basic_xlogger< StringT, lock-ingPolicy >::no_lock::no_lock (boost::mpl::void_) [inline]

Definition at line 232 of file loggerxaids.hpp.

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

• loggerxaids.hpp

12.10 stm::local::basic_xlogger< StringT, lockingPolicy >::Stream Struct Refer-ence

#include <loggerxaids.hpp>

Collaboration diagram for stm::local::basic_xlogger< StringT, lockingPolicy >::Stream:

stm::local::basic_xlogger< StringT, lockingPolicy >::Stream

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt

fmt

12.10.1 Detailed Description

template<class StringT, word lockingPolicy> struct stm::local::basic_xlogger< StringT, lockingPol-icy >::Stream

Definition at line 204 of file loggerxaids.hpp.

Public Types

• enum {

ColonInactive = 0,

ColonScan = 1,

ColonFound = 2,

ColonReady = 3 }

Public Attributes

• ostream_type ∗ pStream• Fmt fmt• dword nls

Number of trailing newlines printed recently.

• dword index• dword ret• dword colonState• bool wrapped

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 148: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.10 stm::local::basic_xlogger< StringT, lockingPolicy >::Stream Struct Reference 147

12.10.2 Member Enumeration Documentation

12.10.2.1 template<class StringT, word lockingPolicy> anonymous enum

Enumerator:

ColonInactiveColonScanColonFoundColonReady

Definition at line 206 of file loggerxaids.hpp.

12.10.3 Member Data Documentation

12.10.3.1 template<class StringT, word lockingPolicy> ostream_type∗ stm::local::basic_xlogger<StringT, lockingPolicy >::Stream::pStream

Definition at line 214 of file loggerxaids.hpp.

Referenced by stm::local::basic_xlogger< std::string, lockingPolicy >::basic_xlogger(), stm::basic_-logger< StringT, stdIndent, lineLength, lockingPolicy >::hasConsole(), stm::basic_logger< StringT,stdIndent, lineLength, lockingPolicy >::operator()(), stm::basic_logger< StringT, stdIndent, line-Length, lockingPolicy >::setConsole(), stm::basic_logger< StringT, stdIndent, lineLength, lock-ingPolicy >::unsetConsole(), and stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy>::unsetStream().

12.10.3.2 template<class StringT, word lockingPolicy> Fmt stm::local::basic_xlogger< StringT,lockingPolicy >::Stream::fmt

Definition at line 215 of file loggerxaids.hpp.

Referenced by stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::operator()(), andstm::local::basic_xlogger< std::string, lockingPolicy >::tprint().

12.10.3.3 template<class StringT, word lockingPolicy> dword stm::local::basic_xlogger< StringT,lockingPolicy >::Stream::nls

Number of trailing newlines printed recently.

Definition at line 216 of file loggerxaids.hpp.

Referenced by stm::local::basic_xlogger< std::string, lockingPolicy >::basic_xlogger(),stm::local::basic_xlogger< std::string, lockingPolicy >::clearNls(), stm::basic_logger< StringT,stdIndent, lineLength, lockingPolicy >::paragraph(), stm::local::basic_xlogger< std::string, locking-Policy >::printch(), stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::setConsole(),stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::unsetConsole(), and stm::basic_-logger< StringT, stdIndent, lineLength, lockingPolicy >::unsetStream().

12.10.3.4 template<class StringT, word lockingPolicy> dword stm::local::basic_xlogger< StringT,lockingPolicy >::Stream::index

Definition at line 217 of file loggerxaids.hpp.

Referenced by stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::operator()(), andstm::local::basic_xlogger< std::string, lockingPolicy >::tprint().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 149: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.11 stm::smartptr::bijective< T, Compare, Allocator, Policy > Class Template Reference 148

12.10.3.5 template<class StringT, word lockingPolicy> dword stm::local::basic_xlogger< StringT,lockingPolicy >::Stream::ret

Definition at line 218 of file loggerxaids.hpp.

Referenced by stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::operator()(), andstm::local::basic_xlogger< std::string, lockingPolicy >::tprint().

12.10.3.6 template<class StringT, word lockingPolicy> dword stm::local::basic_xlogger< StringT,lockingPolicy >::Stream::colonState

Definition at line 219 of file loggerxaids.hpp.

Referenced by stm::local::basic_xlogger< std::string, lockingPolicy >::basic_xlogger(), stm::basic_-logger< StringT, stdIndent, lineLength, lockingPolicy >::operator()(), stm::basic_logger< StringT, stdIn-dent, lineLength, lockingPolicy >::setConsole(), stm::local::basic_xlogger< std::string, lockingPolicy>::tprint(), stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::unsetConsole(), andstm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::unsetStream().

12.10.3.7 template<class StringT, word lockingPolicy> bool stm::local::basic_xlogger< StringT,lockingPolicy >::Stream::wrapped

Definition at line 220 of file loggerxaids.hpp.

Referenced by stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::operator()(), andstm::local::basic_xlogger< std::string, lockingPolicy >::tprint().

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

• loggerxaids.hpp

12.11 stm::smartptr::bijective< T, Compare, Allocator, Policy > Class TemplateReference

#include <smartptraids.hpp>

12.11.1 Detailed Description

template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>, class Policy= stm::smartptr::policy<stm::smartptr::Surjective>> class stm::smartptr::bijective< T, Compare,Allocator, Policy >

The traits class template bijective combines the class template injective_ptr and its associated class templateinjective_set having the surjective policy property.

Definition at line 721 of file smartptraids.hpp.

Public Types

• typedef injective_ptr< T, Compare, Allocator, MakeSurjective< Policy > > ptrinjective_ptr type conforming to Policy but with the surjective policy enabled independent of Policy.

• typedef injective_set< T, Compare, Allocator, MakeMultirange< MakeSurjective< Policy > > >set

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 150: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.12 stm::tools::BinMessage< ContextT > Class Template Reference 149

injective_set type conforming to Policy but with the surjective policy enabled independent of Policy.

• typedef boost::mpl::true_ surjectiveSurjective policy type being boost::mpl::true_ independent of Policy.

12.11.2 Member Typedef Documentation

12.11.2.1 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<stm::smartptr::Surjective>> typedef injective_ptr<T, Com-pare, Allocator, MakeSurjective<Policy> > stm::smartptr::bijective< T, Compare, Allocator, Pol-icy >::ptr

injective_ptr type conforming to Policy but with the surjective policy enabled independent of Policy.

Definition at line 726 of file smartptraids.hpp.

12.11.2.2 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<stm::smartptr::Surjective>> typedef injective_set<T, Com-pare, Allocator, MakeMultirange<MakeSurjective<Policy> > > stm::smartptr::bijective< T,Compare, Allocator, Policy >::set

injective_set type conforming to Policy but with the surjective policy enabled independent of Policy.

Definition at line 730 of file smartptraids.hpp.

12.11.2.3 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<stm::smartptr::Surjective>> typedef boost::mpl::true_-stm::smartptr::bijective< T, Compare, Allocator, Policy >::surjective

Surjective policy type being boost::mpl::true_ independent of Policy.

Definition at line 733 of file smartptraids.hpp.

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

• smartptraids.hpp

12.12 stm::tools::BinMessage< ContextT > Class Template Reference

#include <binmsg.hpp>

Inheritance diagram for stm::tools::BinMessage< ContextT >:

stm::tools::BinMessage< ContextT >

stm::byte_iterator_range stm::tools::local::xBinMessage< ContextT >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 151: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.12 stm::tools::BinMessage< ContextT > Class Template Reference 150

Collaboration diagram for stm::tools::BinMessage< ContextT >:

stm::tools::BinMessage< ContextT >

stm::byte_iterator_range

stm::tools::BaseMessage< ContextT >

stm::tools::local::xBaseMessage< ContextT >

body_

stm::tools::local::xBinMessage< ContextT >

message_

stm::tools::MsgTimestamp

timestamp_

stm::tools::local::xMsgTimestamp

12.12.1 Detailed Description

template<class ContextT> class stm::tools::BinMessage< ContextT >

Binary message scanning from a stm::byte_iterator_range.

ContextT shall be a specialization of BinMessageContext or be publicly derived therefrom. ThereforeContextT is a BinMessage<ContextT> factory and those types derived from BaseMessage<ContextT>registered as BinMessage<ContextT> types are known to that factory (see BinMessageCon-text::registerMessageType()).

Definition at line 404 of file binmsg.hpp.

Public Types

• enum {

NoFlags = 0x00000000,

ThrowOnError = basemessage_type::ThrowOnError }Bitwise orable flag bits.

• enum {

NoError = 0x00000000,

OutOfSync = basemessage_type::OutOfSync,

ConsistencyError = basemessage_type::ConsistencyError }Status values.

• typedef ContextT context_typeContext type of the messages to be scanned.

• typedef BaseMessage< ContextT > basemessage_typeCommon base type of all message types registered for the factory.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 152: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.12 stm::tools::BinMessage< ContextT > Class Template Reference 151

• typedef basemessage_type::Timestamp TimestampTimestamp type.

Public Member Functions

• BinMessage (const byte ∗first, const byte ∗last, context_type &context, dword flags=NoFlags) throw(std::exception)

Construct a BinMessage object from the range [first, last) read from context.

• virtual ∼BinMessage ()Virtual destructor to allow polymorphic class hierarchies.

• const std::string & type () constReturn the message type string.

• dword flags () constReturns the flags of the message.

• dword status () constReturns the status of the message.

• const Timestamp & timestamp () constReturns a reference to the message’s Timestamp.

• const byte_iterator_range & body () constReturns the byte range consisting of the message’s body excluding any padding bytes.

• context_type & context ()Returns the the message’s context.

Private Types

• typedef local::xBinMessage< ContextT > BinMessageImplImplementation.

12.12.2 Member Typedef Documentation

12.12.2.1 template<class ContextT> typedef local::xBinMessage<ContextT>stm::tools::BinMessage< ContextT >::BinMessageImpl [private]

Implementation.

Definition at line 409 of file binmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 153: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.12 stm::tools::BinMessage< ContextT > Class Template Reference 152

12.12.2.2 template<class ContextT> typedef ContextT stm::tools::BinMessage< ContextT>::context_type

Context type of the messages to be scanned.

Reimplemented from stm::tools::local::xBinMessage< ContextT >.

Definition at line 413 of file binmsg.hpp.

12.12.2.3 template<class ContextT> typedef BaseMessage<ContextT> stm::tools::BinMessage<ContextT >::basemessage_type

Common base type of all message types registered for the factory.

Reimplemented from stm::tools::local::xBinMessage< ContextT >.

Definition at line 416 of file binmsg.hpp.

12.12.2.4 template<class ContextT> typedef basemessage_type::Timestampstm::tools::BinMessage< ContextT >::Timestamp

Timestamp type.

Definition at line 419 of file binmsg.hpp.

12.12.3 Member Enumeration Documentation

12.12.3.1 template<class ContextT> anonymous enum

Bitwise orable flag bits.

Enumerator:

NoFlagsThrowOnError

Definition at line 422 of file binmsg.hpp.

12.12.3.2 template<class ContextT> anonymous enum

Status values.

Enumerator:

NoErrorOutOfSyncConsistencyError

Definition at line 429 of file binmsg.hpp.

12.12.4 Constructor & Destructor Documentation

12.12.4.1 template<class ContextT> stm::tools::BinMessage< ContextT >::BinMessage (constbyte ∗ first, const byte ∗ last, context_type & context, dword flags = NoFlags) throw (std::exception)[inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 154: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.12 stm::tools::BinMessage< ContextT > Class Template Reference 153

Construct a BinMessage object from the range [first, last) read from context.

If a binary message consisting of one of the binary message types registered for the binary message factoryof BinMessageContext begins with first and fits completely into the supplied range [first, last), the con-structor succeeds. Then the method status() returns BinMessage::NoError, the method begin() returns first,the method end() returns a byte pointer to the byte after the possibly padded end of the message and themethod body() returns the byte range consisting of the message’s body excluding any padding bytes.

Else if the flags bit BinMessage::ThrowOnError is not set, status () returns BinMessage::OutOfSync orBinMessage::ConsistencyError, begin() returns first, end() returns a byte pointer to the next plausible be-gin of a message and body() returns the offended byte range which may be empty. If the flags bit BinMes-sage::ThrowOnError is set, the construcor throws std::runtime_error in these cases.

On other errors the constructor throws std::logic_error, if one of the arguments supplied is wrong, orstd::range_error, if a binary message potentially begins with first, but does not fit completely into therange [first, last).

Definition at line 722 of file xbinmsg.hpp.

12.12.4.2 template<class ContextT> stm::tools::BinMessage< ContextT >::∼BinMessage ()[inline, virtual]

Virtual destructor to allow polymorphic class hierarchies.

Definition at line 744 of file xbinmsg.hpp.

References stm::tools::local::xBinMessage< ContextT >::message_.

12.12.5 Member Function Documentation

12.12.5.1 template<class ContextT> const std::string & stm::tools::BinMessage< ContextT>::type () const [inline]

Return the message type string.

Definition at line 751 of file xbinmsg.hpp.

References stm::tools::local::xBinMessage< ContextT >::context_, and stm::tools::local::xBinMessage<ContextT >::message_.

12.12.5.2 template<class ContextT> dword stm::tools::BinMessage< ContextT >::flags () const[inline]

Returns the flags of the message.

Definition at line 761 of file xbinmsg.hpp.

References stm::tools::local::xBinMessage< ContextT >::flags_.

12.12.5.3 template<class ContextT> dword stm::tools::BinMessage< ContextT >::status () const[inline]

Returns the status of the message.

Definition at line 768 of file xbinmsg.hpp.

References stm::tools::local::xBinMessage< ContextT >::message_, and stm::tools::BaseMessage< Con-textT >::OutOfSync.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 155: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.13 stm::tools::BinMessageContext< DataT, InputRangeT, ContextT > Class TemplateReference 154

12.12.5.4 template<class ContextT> const BinMessage< ContextT >::Timestamp &stm::tools::BinMessage< ContextT >::timestamp () const [inline]

Returns a reference to the message’s Timestamp.

Definition at line 780 of file xbinmsg.hpp.

References stm::tools::local::xBinMessage< ContextT >::message_.

12.12.5.5 template<class ContextT> const byte_iterator_range & stm::tools::BinMessage< Con-textT >::body () const [inline]

Returns the byte range consisting of the message’s body excluding any padding bytes.

Definition at line 800 of file xbinmsg.hpp.

References stm::tools::local::xBinMessage< ContextT >::message_.

Referenced by stm::tools::LvdsPacket< ContextT >::LvdsPacket().

12.12.5.6 template<class ContextT> BinMessage< ContextT >::context_type &stm::tools::BinMessage< ContextT >::context () [inline]

Returns the the message’s context.

Definition at line 793 of file xbinmsg.hpp.

References stm::tools::local::xBinMessage< ContextT >::context_.

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

• binmsg.hpp• xbinmsg.hpp

12.13 stm::tools::BinMessageContext< DataT, InputRangeT, ContextT > ClassTemplate Reference

#include <binmsg.hpp>

Inheritance diagram for stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >:

stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >

stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >

stm::tools::local::xBinMessageContext< ContextT >

Collaboration diagram for stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >:

stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >

stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >stm::tools::MsgTimestamptimestamp_

stm::tools::local::xMsgTimestamp

stm::tools::local::xBinMessageContext< ContextT >stm::tools::local::xBinMessageGapgap_

12.13.1 Detailed Description

template<class DataT, class InputRangeT, class ContextT> class stm::tools::BinMessageContext<DataT, InputRangeT, ContextT >

Binary message context type.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 156: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.13 stm::tools::BinMessageContext< DataT, InputRangeT, ContextT > Class TemplateReference 155

BinMessageContext<DataT, InputRangeT> is a BinMessage<ContextT> factory for which class tem-plates Message can be registered as binary message types known to that factory where Message<class>shall be publicly derived from BaseMessage<ContextT>. InputRangeT shall be a specialization ofstm::inputrange or be publicly derived therefrom.

Definition at line 332 of file binmsg.hpp.

Public Types

• typedef DataT data_typeType modelling the specialities of the kind of messages to be scanned.

• typedef InputRangeT inputrange_typeType representing a range of input files containing the messages to be scanned.

• typedef ContextT context_typeContext type of the messages to be scanned.

• typedef BaseMessage< ContextT > basemessage_typeCommon base type of all message types registered for the factory.

Public Member Functions

• BinMessageContext (data_type &data, inputrange_type &input)Constructs a BinMessageContext object for data and input.

• const Gap & gap () constReturns a reference to the gap consisting of those bytes recently read while out of sync.

• template<template< class > class Message>bool registerMessageType ()

Registers the binary message type MessageT to be known to the factory of this BinMessageContext.

Private Types

• typedef local::xBinMessageContext< ContextT > BinMessageContextImplImplementation.

Friends

• class local::xBinMessage< ContextT >

Implementation.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 157: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.13 stm::tools::BinMessageContext< DataT, InputRangeT, ContextT > Class TemplateReference 156

Classes

• class GapCharacterization of the gap, i.e.

12.13.2 Member Typedef Documentation

12.13.2.1 template<class DataT, class InputRangeT, class ContextT> typedeflocal::xBinMessageContext<ContextT> stm::tools::BinMessageContext< DataT, InputRangeT,ContextT >::BinMessageContextImpl [private]

Implementation.

Definition at line 337 of file binmsg.hpp.

12.13.2.2 template<class DataT, class InputRangeT, class ContextT> typedef DataTstm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::data_type

Type modelling the specialities of the kind of messages to be scanned.

Reimplemented from stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >.

Definition at line 344 of file binmsg.hpp.

12.13.2.3 template<class DataT, class InputRangeT, class ContextT> typedef InputRangeTstm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::inputrange_type

Type representing a range of input files containing the messages to be scanned.

It shall shall be a specialization of stm::inputrange or be publicly derived therefrom.

Reimplemented from stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >.

Definition at line 350 of file binmsg.hpp.

12.13.2.4 template<class DataT, class InputRangeT, class ContextT> typedef ContextTstm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::context_type

Context type of the messages to be scanned.

Reimplemented from stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >.

Definition at line 353 of file binmsg.hpp.

12.13.2.5 template<class DataT, class InputRangeT, class ContextT> typedefBaseMessage<ContextT> stm::tools::BinMessageContext< DataT, InputRangeT, ContextT>::basemessage_type

Common base type of all message types registered for the factory.

Reimplemented from stm::tools::local::xBinMessageContext< ContextT >.

Definition at line 356 of file binmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 158: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.14 stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap Class Reference157

12.13.3 Constructor & Destructor Documentation

12.13.3.1 template<class DataT, class InputRangeT, class ContextT>stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::BinMessageContext (data_-type & data, inputrange_type & input) [inline]

Constructs a BinMessageContext object for data and input.

Definition at line 651 of file xbinmsg.hpp.

12.13.4 Member Function Documentation

12.13.4.1 template<class DataT, class InputRangeT, class ContextT> const BinMessageContext<DataT, InputRangeT, ContextT >::Gap & stm::tools::BinMessageContext< DataT, InputRangeT,ContextT >::gap () const [inline]

Returns a reference to the gap consisting of those bytes recently read while out of sync.

Definition at line 662 of file xbinmsg.hpp.

References stm::tools::local::xBinMessageContext< ContextT >::gap_.

12.13.4.2 template<class DataT, class InputRangeT, class ContextT> template<template<class > class Message> bool stm::tools::BinMessageContext< DataT, InputRangeT, ContextT>::registerMessageType () [inline]

Registers the binary message type MessageT to be known to the factory of this BinMessageContext.

Message<class> shall be publicly derived from basemessage_type.

Definition at line 674 of file xbinmsg.hpp.

References stm::tools::local::xBinMessageContext< ContextT >::creation_.

12.13.5 Friends And Related Function Documentation

12.13.5.1 template<class DataT, class InputRangeT, class ContextT> friend classlocal::xBinMessage< ContextT > [friend]

Implementation.

Definition at line 340 of file binmsg.hpp.

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

• binmsg.hpp• xbinmsg.hpp

12.14 stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::GapClass Reference

#include <binmsg.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 159: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.14 stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap Class Reference158

Inheritance diagram for stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap:

stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap

stm::tools::local::xBinMessageGap

Collaboration diagram for stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap:

stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap

stm::tools::local::xBinMessageGap

12.14.1 Detailed Description

template<class DataT, class InputRangeT, class ContextT> class stm::tools::BinMessageContext<DataT, InputRangeT, ContextT >::Gap

Characterization of the gap, i.e.

the bytes recently read while out of sync.

Definition at line 361 of file binmsg.hpp.

Public Member Functions

• Gap ()Construct a gap of length 0.

• operator bool () constReturns true, if there was a gap of positive length, else false.

• long long offset () constOffset within the concatenation of all input files of the gap begin.

• long long length () constByte length of the gap.

Friends

• class BinMessageContext< DataT, InputRangeT, ContextT >

12.14.2 Constructor & Destructor Documentation

12.14.2.1 template<class DataT, class InputRangeT, class ContextT>stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap::Gap () [inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 160: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.15 stm::local::BraceExpand Class Reference 159

Construct a gap of length 0.

Definition at line 690 of file xbinmsg.hpp.

12.14.3 Member Function Documentation

12.14.3.1 template<class DataT, class InputRangeT, class ContextT>stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap::operator bool ()const [inline]

Returns true, if there was a gap of positive length, else false.

Definition at line 710 of file xbinmsg.hpp.

References stm::tools::local::xBinMessageGap::length_.

12.14.3.2 template<class DataT, class InputRangeT, class ContextT> long longstm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap::offset () const[inline]

Offset within the concatenation of all input files of the gap begin.

Definition at line 696 of file xbinmsg.hpp.

References stm::tools::local::xBinMessageGap::offset_.

12.14.3.3 template<class DataT, class InputRangeT, class ContextT> long longstm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap::length () const[inline]

Byte length of the gap.

Definition at line 703 of file xbinmsg.hpp.

References stm::tools::local::xBinMessageGap::length_.

12.14.4 Friends And Related Function Documentation

12.14.4.1 template<class DataT, class InputRangeT, class ContextT> friend classBinMessageContext< DataT, InputRangeT, ContextT > [friend]

Definition at line 363 of file binmsg.hpp.

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

• binmsg.hpp• xbinmsg.hpp

12.15 stm::local::BraceExpand Class Reference

#include <filesysxaids.hpp>

12.15.1 Detailed Description

Brace expansion implementation class.

Definition at line 885 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 161: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.16 stm::local::BraceExpand::Data Struct Reference 160

Static Public Member Functions

• static StmRe re ()

Static Private Member Functions

• static int toExpand (StmMtcFctCmd cmd, StmReMtc reMtc)

Static Private Attributes

• static StmRe re_

Classes

• struct Data

12.15.2 Member Function Documentation

12.15.2.1 static StmRe stm::local::BraceExpand::re () [inline, static]

Definition at line 932 of file filesysxaids.hpp.

References stm::rectrl::identity, stm::rectrl::initialize(), and stmReCreate().

Referenced by stm::brace_expand().

12.15.2.2 int stm::local::BraceExpand::toExpand (StmMtcFctCmd cmd, StmReMtc reMtc)[static, private]

Definition at line 513 of file filesysaids.cpp.

References StmMtcFctCmd::action, StmMtcFctCmd::deinit, stm::local::BraceExpand::Data::head,StmMtcFctCmd::init, StmMtcFctCmd::rollback, StmDebugAidsVerify, stmQreMtcNthSim-pleReMtc(), stmQreMtcSimpleReMtcCount(), stmReMtcData(), stmReMtcNthQreMtc(), stmReMtc-NthQreMtcLen(), stmReMtcNthQreMtcStr(), stmReMtcSetData(), stmReMtcSuperQreMtc(), andstm::local::BraceExpand::Data::tail.

12.15.3 Member Data Documentation

12.15.3.1 StmRe stm::local::BraceExpand::re_ [static, private]

Definition at line 963 of file filesysxaids.hpp.

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

• filesysxaids.hpp• filesysaids.cpp

12.16 stm::local::BraceExpand::Data Struct Reference

#include <filesysxaids.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 162: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.16 stm::local::BraceExpand::Data Struct Reference 161

Collaboration diagram for stm::local::BraceExpand::Data:

stm::local::BraceExpand::Data

stm::local::BraceExpand::Data::Tail

tail

12.16.1 Detailed Description

Definition at line 888 of file filesysxaids.hpp.

Public Member Functions

• Data ()• ∼Data ()• void operator() (boost::function< void(const std::string &)> add, const std::string &pre-

fix=std::string(), const std::string &postfix=std::string()) const

Public Attributes

• std::string head• Tail ∗ tail

Classes

• struct Tail

12.16.2 Constructor & Destructor Documentation

12.16.2.1 stm::local::BraceExpand::Data::Data () [inline]

Definition at line 892 of file filesysxaids.hpp.

12.16.2.2 stm::local::BraceExpand::Data::∼Data () [inline]

Definition at line 893 of file filesysxaids.hpp.

12.16.3 Member Function Documentation

12.16.3.1 void stm::local::BraceExpand::Data::operator() (boost::function< void(const std::string&)> add, const std::string & prefix = std::string (), const std::string & postfix =std::string ()) const [inline]

Definition at line 895 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 163: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.17 stm::local::BraceExpand::Data::Tail Struct Reference 162

12.16.4 Member Data Documentation

12.16.4.1 std::string stm::local::BraceExpand::Data::head

Definition at line 911 of file filesysxaids.hpp.

Referenced by stm::local::BraceExpand::toExpand().

12.16.4.2 Tail∗ stm::local::BraceExpand::Data::tail

Definition at line 912 of file filesysxaids.hpp.

Referenced by stm::local::BraceExpand::toExpand().

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

• filesysxaids.hpp

12.17 stm::local::BraceExpand::Data::Tail Struct Reference

#include <filesysxaids.hpp>

12.17.1 Detailed Description

Definition at line 915 of file filesysxaids.hpp.

Public Member Functions

• Tail (const std::string &tail)• ∼Tail ()

Public Attributes

• std::list< Data ∗ > infix• std::string postfix

12.17.2 Constructor & Destructor Documentation

12.17.2.1 stm::local::BraceExpand::Data::Tail::Tail (const std::string & tail) [inline]

Definition at line 917 of file filesysxaids.hpp.

12.17.2.2 stm::local::BraceExpand::Data::Tail::∼Tail () [inline]

Definition at line 919 of file filesysxaids.hpp.

12.17.3 Member Data Documentation

12.17.3.1 std::list<Data ∗> stm::local::BraceExpand::Data::Tail::infix

Definition at line 928 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 164: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.18 stm::byte_iterator_range Class Reference 163

12.17.3.2 std::string stm::local::BraceExpand::Data::Tail::postfix

Definition at line 929 of file filesysxaids.hpp.

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

• filesysxaids.hpp

12.18 stm::byte_iterator_range Class Reference

#include <divaids.hpp>

Inheritance diagram for stm::byte_iterator_range:

stm::byte_iterator_range

stm::tools::BaseMessage< ContextT > stm::tools::BinMessage< ContextT >

stm::tools::McBspMessage< ContextT > stm::tools::PrintkBinMessage< ContextT >

12.18.1 Detailed Description

Byte iterator range class.

Definition at line 342 of file divaids.hpp.

Public Member Functions

• byte_iterator_range ()Default constructor yielding the singular byte_iterator_range object.

• byte_iterator_range (const byte ∗first, const byte ∗last)Constructs a byte_iterator_range object representing the range [first, last).

• template<class ForwardRange>byte_iterator_range (ForwardRange &that)

Constructs a byte_iterator_range object from that.

• template<class ForwardRange>byte_iterator_range (const ForwardRange &that)

Constructs a byte_iterator_range object from that.

• template<typename T>

const T & safe_get (const byte ∗ptr) const throw (std::logic_error, std::range_error)Returns a constant reference to the T object beginning at byte address ptr.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 165: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.19 stm::smartptr::local::comp_id< T, Compare > Struct Template Reference 164

12.18.2 Constructor & Destructor Documentation

12.18.2.1 stm::byte_iterator_range::byte_iterator_range () [inline]

Default constructor yielding the singular byte_iterator_range object.

Definition at line 1589 of file divxaids.hpp.

12.18.2.2 stm::byte_iterator_range::byte_iterator_range (const byte ∗ first, const byte ∗ last)[inline]

Constructs a byte_iterator_range object representing the range [first, last).

Definition at line 1594 of file divxaids.hpp.

12.18.2.3 template<class ForwardRange> stm::byte_iterator_range::byte_iterator_range (For-wardRange & that) [inline]

Constructs a byte_iterator_range object from that.

Definition at line 1600 of file divxaids.hpp.

12.18.2.4 template<class ForwardRange> stm::byte_iterator_range::byte_iterator_range (constForwardRange & that) [inline]

Constructs a byte_iterator_range object from that.

Definition at line 1606 of file divxaids.hpp.

12.18.3 Member Function Documentation

12.18.3.1 template<typename T> const T & stm::byte_iterator_range::safe_get (const byte ∗ ptr)const throw (std::logic_error, std::range_error) [inline]

Returns a constant reference to the T object beginning at byte address ptr.

Throws std::logic_error, if ptr does not belong to the byte range [begin(), end()) and std::range_error, if theT object beginning at ptr does not fit into the range [ptr, end()).

Definition at line 1613 of file divxaids.hpp.

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

• divaids.hpp• divxaids.hpp

12.19 stm::smartptr::local::comp_id< T, Compare > Struct Template Reference

#include <smartptrxaids.hpp>

12.19.1 Detailed Description

template<class T, class Compare> struct stm::smartptr::local::comp_id< T, Compare >

Definition at line 534 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 166: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.20 stm::smartptr::local::comp_value< T, Compare > Struct Template Reference 165

Public Member Functions

• bool operator() (stm::dword id, const item_type< T, Compare > &item) const• bool operator() (const item_type< T, Compare > &item, stm::dword id) const

12.19.2 Member Function Documentation

12.19.2.1 template<class T, class Compare> bool stm::smartptr::local::comp_id< T, Compare>::operator() (stm::dword id, const item_type< T, Compare > & item) const [inline]

Definition at line 538 of file smartptrxaids.hpp.

References stm::smartptr::local::item_type< T, Compare >::id.

12.19.2.2 template<class T, class Compare> bool stm::smartptr::local::comp_id< T, Compare>::operator() (const item_type< T, Compare > & item, stm::dword id) const [inline]

Definition at line 548 of file smartptrxaids.hpp.

References stm::smartptr::local::item_type< T, Compare >::id.

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

• smartptrxaids.hpp

12.20 stm::smartptr::local::comp_value< T, Compare > Struct Template Refer-ence

#include <smartptrxaids.hpp>

12.20.1 Detailed Description

template<class T, class Compare> struct stm::smartptr::local::comp_value< T, Compare >

Definition at line 563 of file smartptrxaids.hpp.

Public Member Functions

• bool operator() (const T &value, const T ∗ptr) const• bool operator() (const T ∗ptr, const T &value) const

12.20.2 Member Function Documentation

12.20.2.1 template<class T, class Compare> bool stm::smartptr::local::comp_value< T, Compare>::operator() (const T & value, const T ∗ ptr) const [inline]

Definition at line 566 of file smartptrxaids.hpp.

12.20.2.2 template<class T, class Compare> bool stm::smartptr::local::comp_value< T, Compare>::operator() (const T ∗ ptr, const T & value) const [inline]

Definition at line 572 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 167: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.21 stm::smartptr::local::comp_value_id< T, Compare > Struct Template Reference 166

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

• smartptrxaids.hpp

12.21 stm::smartptr::local::comp_value_id< T, Compare > Struct Template Ref-erence

#include <smartptrxaids.hpp>

12.21.1 Detailed Description

template<class T, class Compare> struct stm::smartptr::local::comp_value_id< T, Compare >

Definition at line 499 of file smartptrxaids.hpp.

Public Member Functions

• bool operator() (const std::pair< const T, stm::dword > &value_id_pair, const item_type< T, Com-pare > &item) const

• bool operator() (const item_type< T, Compare > &item, const std::pair< const T, stm::dword >&value_id_pair) const

12.21.2 Member Function Documentation

12.21.2.1 template<class T, class Compare> bool stm::smartptr::local::comp_value_id< T, Com-pare >::operator() (const std::pair< const T, stm::dword > & value_id_pair, const item_type< T,Compare > & item) const [inline]

Definition at line 503 of file smartptrxaids.hpp.

References stm::smartptr::local::item_type< T, Compare >::id, and stm::smartptr::local::item_type< T,Compare >::ptr.

12.21.2.2 template<class T, class Compare> bool stm::smartptr::local::comp_value_id< T, Com-pare >::operator() (const item_type< T, Compare > & item, const std::pair< const T, stm::dword> & value_id_pair) const [inline]

Definition at line 516 of file smartptrxaids.hpp.

References stm::smartptr::local::item_type< T, Compare >::id, and stm::smartptr::local::item_type< T,Compare >::ptr.

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

• smartptrxaids.hpp

12.22 stm::condition Class Reference

#include <divaids.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 168: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.22 stm::condition Class Reference 167

Inheritance diagram for stm::condition:

stm::condition

stm::local::xcondition

Collaboration diagram for stm::condition:

stm::condition

stm::local::xcondition

12.22.1 Detailed Description

Condition class.

Definition at line 1023 of file divaids.hpp.

Public Member Functions

• condition ()Throws:

std::logic_error on error.

• ∼condition ()• void signal ()

Throws:

std::logic_error on error.

• void broadcast ()Throws:

std::logic_error on error.

• void wait (scoped_lock &lock)Throws:

std::logic_error on error.

• bool timed_wait (scoped_lock &lock, int64 absTimeMs)Throws:

std::logic_error on error.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 169: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.22 stm::condition Class Reference 168

12.22.2 Constructor & Destructor Documentation

12.22.2.1 stm::condition::condition () [inline, explicit]

Throws:

std::logic_error on error.

Definition at line 2819 of file divxaids.hpp.

References stm::local::xcondition::cond_.

12.22.2.2 stm::condition::∼condition () [inline]

Definition at line 2836 of file divxaids.hpp.

References stm::local::xcondition::cond_, and stmConditionDestroy().

12.22.3 Member Function Documentation

12.22.3.1 void stm::condition::signal () [inline]

Throws:

std::logic_error on error.

Definition at line 2842 of file divxaids.hpp.

References stm::local::xcondition::cond_, and stmConditionSignal().

12.22.3.2 void stm::condition::broadcast () [inline]

Throws:

std::logic_error on error.

Definition at line 2859 of file divxaids.hpp.

References stm::local::xcondition::cond_, and stmConditionBroadcast().

12.22.3.3 void stm::condition::wait (scoped_lock & lock) [inline]

Throws:

std::logic_error on error.

Definition at line 2876 of file divxaids.hpp.

References stm::local::xcondition::wait_().

12.22.3.4 bool stm::condition::timed_wait (scoped_lock & lock, int64 absTimeMs) [inline]

Throws:

std::logic_error on error.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 170: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.23 stm::crc< RemPolT > Class Template Reference 169

Definition at line 2883 of file divxaids.hpp.

References stm::local::xcondition::wait_().

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

• divaids.hpp• divxaids.hpp

12.23 stm::crc< RemPolT > Class Template Reference

#include <gencrc.hpp>

Inheritance diagram for stm::crc< RemPolT >:

stm::crc< RemPolT >

stm::local::xcrc< RemPolT >

Collaboration diagram for stm::crc< RemPolT >:

stm::crc< RemPolT >

stm::local::xcrc< RemPolT >

12.23.1 Detailed Description

template<typename RemPolT> class stm::crc< RemPolT >

Class template crc provides a means to generate cyclic redundancy check (CRC) remainder polynomials oftype RemPolT over buffers of byte-like objects.

The CRC algorithm works by computing the remainder of a modulo-2 polynominal division. The bufferto check is treated as the (binary) coefficents of a long polynominal for the dividend, with the higher orderbits of the buffer fed first as the polynominal’s highest coefficents. A particular CRC algorithm has anotherpolynominal, the so called generator polynomial, associated with it to be used as the divisor. The quotientis ignored. The remainder of the division is considered as checksum. However, the division uses modulo-2rules (no carries) for the coefficents.

RemPolT shall be an unsigned integer type as e.g. unsigned short, unsigned int, unsigned long, un-signed long long or maybe even unsigned char. The implementation uses a RemPolT table of dimen-sion 2∗∗sizeof(char) = 256. Because of the size and initialization time needed for this lookup table, it isproposed to generate one const crc<RemPolT> object for each generator polynomial needed as globallyas possible and reusing it everywhere CRC check remainder polynomials are needed. Also pointers orreferences to such const crc<RemPolT> objects may freely be passed around.

Examples:

gencrctest.cpp.

Definition at line 130 of file gencrc.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 171: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.23 stm::crc< RemPolT > Class Template Reference 170

Public Types

• typedef RemPolT rempol_typeThe type rempol_type represents CRC remainder polynomials.

Public Member Functions

• crc (rempol_type generatorPolynomial, rempol_type initialRemainderPolynomial=0, bool reflectIn-put=false)

Constructs a crc object usable to generate CRC remainder polynomials using the generator polynomialgeneratorPolynomial.

• template<typename InputIterator>rempol_type operator() (InputIterator first, InputIterator last, bool reflectRemainder=false, rempol_-type finalXorPolynomial=0) const

Return the CRC remainder polynomial over the value type buffer consisting of the half open interval [∗first,∗last) of value type objects.

• template<typename InputIterator>rempol_type operator() (rempol_type initialRemainderPolynomial, InputIterator first, InputIteratorlast, bool reflectRemainder=false, rempol_type finalXorPolynomial=0) const

Return the CRC remainder polynomial over the value type buffer consisting of the half open interval [∗first,∗last) of value type objects.

• template<typename InputIterator>rempol_type operator() (InputIterator first, size_t size, bool reflectRemainder=false, rempol_typefinalXorPolynomial=0) const

Return the CRC remainder polynomial over the value type buffer consisting of size value type objects be-ginning at ∗first.

• template<typename InputIterator>rempol_type operator() (rempol_type initialRemainderPolynomial, InputIterator first, size_t size,bool reflectRemainder=false, rempol_type finalXorPolynomial=0) const

Return the CRC remainder polynomial over the value type buffer consisting of size value type objects be-ginning at ∗first.

• bool inputReflection () constReturn true, if this object performs input reflection, else false.

• rempol_type generatorPolynomial () constReturn this object’s generator polynomial without the implicit leading coefficient.

• rempol_type defaultInitialRemainderPolynomial () constReturn this object’s default initial remainer polynomial.

Private Types

• typedef local::xcrc< RemPolT > implImplementation.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 172: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.23 stm::crc< RemPolT > Class Template Reference 171

12.23.2 Member Typedef Documentation

12.23.2.1 template<typename RemPolT> typedef local::xcrc<RemPolT> stm::crc< RemPolT>::impl [private]

Implementation.

Definition at line 133 of file gencrc.hpp.

12.23.2.2 template<typename RemPolT> typedef RemPolT stm::crc< RemPolT >::rempol_type

The type rempol_type represents CRC remainder polynomials.

CRC remainder polynomials are the sum ci∗x∗∗i (0 <= i <= deg) of monomials of the indeterminate xwith binary coefficients ci computed modulo-2 and the polynomial degree deg.

If s is the number of binary digits of rempol_type (this is 8 ∗ sizeof (rempol_type)), then the maximalpossible polynomial degree is deg = s - 1. Such a polynomial is represented in a rempol_type object byrepresenting the binary coefficient of its order i monomial as bit i of the rempol_type object.

Thus for example, for s = 16 rempol_type may be chosen as unsigned short and the CRC remainder poly-nomial

x**15 + x**12 + x**5 + x**0

is expressed as 0x9021.

Reimplemented from stm::local::xcrc< RemPolT >.

Definition at line 153 of file gencrc.hpp.

12.23.3 Constructor & Destructor Documentation

12.23.3.1 template<typename RemPolT> stm::crc< RemPolT >::crc (rempol_type generatorPoly-nomial, rempol_type initialRemainderPolynomial = 0, bool reflectInput = false) [inline,explicit]

Constructs a crc object usable to generate CRC remainder polynomials using the generator polynomialgeneratorPolynomial.

The generator polynomial is always assumed to be of degree s = 8 ∗ sizeof (rempol_type) and thus thecorresponding binary coefficient at the imaginary binary digit s is always assumed to be 1 and is notrepresented explicitly.

So for example, for s = 16 the generator polynomial of degree 16

x**16 + x**12 + x**5 + x**0

is expressed as unsigned short 0x1021.

By means of the optional parameter initialRemainderPolynomial a remainder polynomial serving as initialvalue for the check algorithm may be supplied. If this parameter is missing, 0 is assumed.

Normally the the input bits are fed a byte at a time, with the highest bits of a byte treated as the higher bitsof the dividend polynominal. Some CRC algorithms require to reflect the bits (about the byte’s center, sothe first and last bits are switched, etc.) before feeding.

With the optional parameter reflectInput set to true this behaviour may be chosen. If this parameter ismissing, false is assumed.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 173: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.23 stm::crc< RemPolT > Class Template Reference 172

Definition at line 236 of file genxcrc.hpp.

12.23.4 Member Function Documentation

12.23.4.1 template<typename RemPolT> template<typename InputIterator> crc< RemPolT>::rempol_type stm::crc< RemPolT >::operator() (InputIterator first, InputIterator last, bool re-flectRemainder = false, rempol_type finalXorPolynomial = 0) const [inline]

Return the CRC remainder polynomial over the value type buffer consisting of the half open interval [∗first,∗last) of value type objects.

The template parameter InputIterator shall conform to the inpuit iterator requirements (24.1.1). It may bea constant iterator and shall have a byte-like value type value_type with sizeof (value_type) == 1 and beconvertible to rempol_type. Thus e.g. for value_type char, signed char or unsigned char may be used andas InputIterator e.g. pointers or const pointers to one of these value types may be chosen.

As initial remainder polynomial defaultInitialRemainderPolynomial() specified by the constructor is used.If reflectRemainder is true (default: false), the computed remainder polynomial is reflected.

Just before return the result is xored with finalXorPolynomial, which is 0 by default.

Definition at line 253 of file genxcrc.hpp.

12.23.4.2 template<typename RemPolT> template<typename InputIterator> crc< RemPolT>::rempol_type stm::crc< RemPolT >::operator() (rempol_type initialRemainderPolynomial, In-putIterator first, InputIterator last, bool reflectRemainder = false, rempol_type finalXorPolyno-mial = 0) const [inline]

Return the CRC remainder polynomial over the value type buffer consisting of the half open interval [∗first,∗last) of value type objects.

The template parameter InputIterator shall conform to the inpuit iterator requirements (24.1.1). It may bea constant iterator and shall have a byte-like value type value_type with sizeof (value_type) == 1 and beconvertible to rempol_type. Thus e.g. for value_type char, signed char or unsigned char may be used andas InputIterator e.g. pointers or const pointers to one of these value types may be chosen.

As initial remainder polynomial the argument initialRemainderPolynomial is used.

If reflectRemainder is true (default: false), the computed remainder polynomial is reflected.

Just before return the result is xored with finalXorPolynomial, which is 0 by default.

Definition at line 268 of file genxcrc.hpp.

12.23.4.3 template<typename RemPolT> template<typename InputIterator> crc< RemPolT>::rempol_type stm::crc< RemPolT >::operator() (InputIterator first, size_t size, bool reflec-tRemainder = false, rempol_type finalXorPolynomial = 0) const [inline]

Return the CRC remainder polynomial over the value type buffer consisting of size value type objectsbeginning at ∗first.

The template parameter InputIterator shall conform to the inpuit iterator requirements (24.1.1). It may bea constant iterator and shall have a byte-like value type value_type with sizeof (value_type) == 1 and beconvertible to rempol_type. Thus e.g. for value_type char, signed char or unsigned char may be used andas InputIterator e.g. pointers or const pointers to one of these value types may be chosen.

As initial remainder polynomial defaultInitialRemainderPolynomial() specified by the constructor is used.

If reflectRemainder is true (default: false), the computed remainder polynomial is reflected.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 174: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.23 stm::crc< RemPolT > Class Template Reference 173

Just before return the result is xored with finalXorPolynomial, which is 0 by default.

Definition at line 290 of file genxcrc.hpp.

12.23.4.4 template<typename RemPolT> template<typename InputIterator> crc< RemPolT>::rempol_type stm::crc< RemPolT >::operator() (rempol_type initialRemainderPolynomial, In-putIterator first, size_t size, bool reflectRemainder = false, rempol_type finalXorPolynomial = 0)const [inline]

Return the CRC remainder polynomial over the value type buffer consisting of size value type objectsbeginning at ∗first.

The template parameter InputIterator shall conform to the inpuit iterator requirements (24.1.1). It may bea constant iterator and shall have a byte-like value type value_type with sizeof (value_type) == 1 and beconvertible to rempol_type. Thus e.g. for value_type char, signed char or unsigned char may be used andas InputIterator e.g. pointers or const pointers to one of these value types may be chosen.

As initial remainder polynomial the argument initialRemainderPolynomial is used.

If reflectRemainder is true (default: false), the computed remainder polynomial is reflected.

Just before return the result is xored with finalXorPolynomial, which is 0 by default.

Definition at line 305 of file genxcrc.hpp.

12.23.4.5 template<typename RemPolT> bool stm::crc< RemPolT >::inputReflection () const[inline]

Return true, if this object performs input reflection, else false.

Definition at line 326 of file genxcrc.hpp.

References stm::local::xcrc< RemPolT >::reflect_.

12.23.4.6 template<typename RemPolT> crc< RemPolT >::rempol_type stm::crc< RemPolT>::generatorPolynomial () const [inline]

Return this object’s generator polynomial without the implicit leading coefficient.

Definition at line 334 of file genxcrc.hpp.

References stm::local::xcrc< RemPolT >::generatorPolynomial_.

12.23.4.7 template<typename RemPolT> crc< RemPolT >::rempol_type stm::crc< RemPolT>::defaultInitialRemainderPolynomial () const [inline]

Return this object’s default initial remainer polynomial.

Definition at line 342 of file genxcrc.hpp.

References stm::local::xcrc< RemPolT >::defaultInitialRemainderPolynomial_.

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

• gencrc.hpp• genxcrc.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 175: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.24 stm::tools::Ct Class Reference 174

12.24 stm::tools::Ct Class Reference

#include <ctaids.hpp>

Inheritance diagram for stm::tools::Ct:

stm::tools::Ct

stm::tools::local::xCt

Collaboration diagram for stm::tools::Ct:

stm::tools::Ctstm::tools::local::xCtstm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >logger_

stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >

stm::logger_base

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

std::basic_ostringstream< std::string ::value_type, std::string ::traits_type, std::string ::allocator_type >

stm::local::basic_xlogger< std::string, lockingPolicy >

stm::local::basic_xlogger< StringT, lockingPolicy >::Stream output

stm::local::basic_xlogger< StringT, lockingPolicy >output

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmtfmt

< std::string, lockingPolicy >

< std::string, stdIndent, lineLength, lockingPolicy >

12.24.1 Detailed Description

Main ClearCase cleartool aids class.

Definition at line 109 of file ctaids.hpp.

Public Types

• typedef logger LoggerType managing formatted logging to the console and/or into a protocol file.

Public Member Functions

• Ct (Logger &logger)Construct a Ct object prepared for logging with logger.

• Logger & logger () constReturn the logging object of this Ct.

• void setMode (int mode)Set the action mode of this Ct.

• int getMode () constReturn the action mode of this Ct.

• void setCiCommentOption (const std::string &ciCommentOption)Set the check in comment option of this Ct.

• const std::string & getCiCommentOption () constReturn the check in comment option of this Ct.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 176: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.24 stm::tools::Ct Class Reference 175

• void execCommand (const std::string &command) constThe method execCommand executes the console command.

Static Public Member Functions

• static bool isVobElement (const boost::filesystem::path &path)The static method isVobElement returns true, if path is a ClearCase VOB element, else false.

• static bool isCheckedOut (const boost::filesystem::path &path)The static method isCheckedOut returns true, if path is checked out, else false.

• static std::string getCurrentBranch (const std::string &path)Returns the current branch of the the ClearCase VOB element path.

• static std::string getCurrentMasterReplica (const std::string &branch)Returns the current ClearCase master replica of branch.

Classes

• class ArgListClass to hold multiple arguments for a command.

• struct ModeCt action modes.

12.24.2 Member Typedef Documentation

12.24.2.1 typedef logger stm::tools::Ct::Logger

Type managing formatted logging to the console and/or into a protocol file.

Reimplemented from stm::tools::local::xCt.

Definition at line 114 of file ctaids.hpp.

12.24.3 Constructor & Destructor Documentation

12.24.3.1 stm::tools::Ct::Ct (Logger & logger) [inline]

Construct a Ct object prepared for logging with logger.

Definition at line 303 of file xctaids.hpp.

12.24.4 Member Function Documentation

12.24.4.1 Ct::Logger & stm::tools::Ct::logger () const [inline]

Return the logging object of this Ct.

Definition at line 308 of file xctaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 177: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.24 stm::tools::Ct Class Reference 176

References stm::tools::local::xCt::logger_.

12.24.4.2 void stm::tools::Ct::setMode (int mode) [inline]

Set the action mode of this Ct.

Definition at line 314 of file xctaids.hpp.

References stm::tools::local::xCt::mode_.

12.24.4.3 int stm::tools::Ct::getMode () const [inline]

Return the action mode of this Ct.

Definition at line 321 of file xctaids.hpp.

References stm::tools::local::xCt::mode_.

Referenced by stm::tools::CtOperation::obtainReplicaMastership().

12.24.4.4 void stm::tools::Ct::setCiCommentOption (const std::string & ciCommentOption)[inline]

Set the check in comment option of this Ct.

Definition at line 327 of file xctaids.hpp.

References stm::tools::local::xCt::ciCommentOption_.

12.24.4.5 const std::string & stm::tools::Ct::getCiCommentOption () const [inline]

Return the check in comment option of this Ct.

Definition at line 334 of file xctaids.hpp.

References stm::tools::local::xCt::ciCommentOption_.

Referenced by stm::tools::CtOperation::checkOut().

12.24.4.6 void stm::tools::Ct::execCommand (const std::string & command) const

The method execCommand executes the console command.

If this Ct object is configured for action Verbose, additional diagnostics are logged according to this Ctobject’s logger. If this Ct object is configured for action Simulate, command is not executed but protocolledaccording to this Ct object’s logger instead. On error a std::runtime_error exception is thrown.

Definition at line 106 of file ctaids.cpp.

References stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >::Indent,stm::tools::local::xCt::logger_, stm::tools::local::xCt::mode_, stm::basic_logger< std::string, stdIn-dent, lineLength, lockingPolicy >::NoPara, and stm::tools::Ct::Mode::Simulate.

Referenced by stm::tools::CtOperation::checkOut(), stm::tools::Ct::ArgList::exec(),stm::tools::CtOperation::label(), stm::tools::CtOperation::obtainReplicaMastership(), andstm::tools::CtOperation::prepareLabels().

12.24.4.7 bool stm::tools::Ct::isVobElement (const boost::filesystem::path & path) [static]

The static method isVobElement returns true, if path is a ClearCase VOB element, else false.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 178: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.25 stm::tools::Ct::ArgList Class Reference 177

Throws on error.

Definition at line 133 of file ctaids.cpp.

References PATHLEN.

Referenced by getCurrentBranch(), stm::tools::CtOperation::getCurrentReplica(), isCheckedOut(),stm::tools::CtOperation::isLabel(), and stm::tools::CtOperation::prepareLabels().

12.24.4.8 bool stm::tools::Ct::isCheckedOut (const boost::filesystem::path & path) [static]

The static method isCheckedOut returns true, if path is checked out, else false.

Throws on error.

Definition at line 178 of file ctaids.cpp.

References isVobElement(), and PATHLEN.

12.24.4.9 std::string stm::tools::Ct::getCurrentBranch (const std::string & path) [static]

Returns the current branch of the the ClearCase VOB element path.

Definition at line 223 of file ctaids.cpp.

References isVobElement(), stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy>::mkPath(), PATHLEN, and stm::trim().

Referenced by stm::tools::CtOperation::obtainReplicaMastership().

12.24.4.10 std::string stm::tools::Ct::getCurrentMasterReplica (const std::string & branch)[static]

Returns the current ClearCase master replica of branch.

Definition at line 279 of file ctaids.cpp.

References stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >::mkPath(), andPATHLEN.

Referenced by stm::tools::CtOperation::obtainReplicaMastership().

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

• ctaids.hpp• xctaids.hpp• ctaids.cpp

12.25 stm::tools::Ct::ArgList Class Reference

#include <ctaids.hpp>

Inheritance diagram for stm::tools::Ct::ArgList:

stm::tools::Ct::ArgList

stm::tools::local::xArgList

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 179: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.25 stm::tools::Ct::ArgList Class Reference 178

Collaboration diagram for stm::tools::Ct::ArgList:

stm::tools::Ct::ArgListstm::tools::local::xArgListstm::tools::Ctct_

stm::tools::local::xCtstm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >logger_

stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >

stm::logger_base

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

std::basic_ostringstream< std::string ::value_type, std::string ::traits_type, std::string ::allocator_type >

stm::local::basic_xlogger< std::string, lockingPolicy >

stm::local::basic_xlogger< StringT, lockingPolicy >::Stream output

stm::local::basic_xlogger< StringT, lockingPolicy >output

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmtfmt

< std::string, lockingPolicy >

< std::string, stdIndent, lineLength, lockingPolicy >

12.25.1 Detailed Description

Class to hold multiple arguments for a command.

Definition at line 128 of file ctaids.hpp.

Public Member Functions

• ArgList (const Ct &ct)Construct an empty ArgList object.

• ArgList & operator+= (const std::string &arg)Add arg to this ArgList object and return it.

• void exec (const std::string &command) constExecute command for all elements of this ArgList object.

• bool active () constReturn true, if this ArgList object contains at least one element.

12.25.2 Constructor & Destructor Documentation

12.25.2.1 stm::tools::Ct::ArgList::ArgList (const Ct & ct) [inline]

Construct an empty ArgList object.

Definition at line 262 of file xctaids.hpp.

12.25.3 Member Function Documentation

12.25.3.1 Ct::ArgList & stm::tools::Ct::ArgList::operator+= (const std::string & arg) [inline]

Add arg to this ArgList object and return it.

Definition at line 267 of file xctaids.hpp.

References stm::tools::local::xArgList::limit_, and stm::trim().

12.25.3.2 void stm::tools::Ct::ArgList::exec (const std::string & command) const [inline]

Execute command for all elements of this ArgList object.

command is assumed to work with multiple arguments but is called in a way that guarantees that the com-mand line length limit of the shell is not exceeded. For this to work, it is assumed, that executing commandseveral times with any successive partition of the arguments contained in this ArgList is semantically thesame as executing command once with all arguments of this ArgList.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 180: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.26 stm::tools::Ct::Mode Struct Reference 179

Definition at line 283 of file xctaids.hpp.

References stm::tools::local::xArgList::ct_, and stm::tools::Ct::execCommand().

Referenced by stm::tools::CtOperation::label().

12.25.3.3 bool stm::tools::Ct::ArgList::active () const [inline]

Return true, if this ArgList object contains at least one element.

Definition at line 293 of file xctaids.hpp.

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

• ctaids.hpp• xctaids.hpp

12.26 stm::tools::Ct::Mode Struct Reference

#include <ctaids.hpp>

12.26.1 Detailed Description

Ct action modes.

Definition at line 117 of file ctaids.hpp.

Public Types

• enum {

Normal,

Verbose,

Simulate }

12.26.2 Member Enumeration Documentation

12.26.2.1 anonymous enum

Enumerator:

NormalVerboseSimulate

Definition at line 119 of file ctaids.hpp.

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

• ctaids.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 181: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.27 stm::tools::CtExceptions Class Reference 180

12.27 stm::tools::CtExceptions Class Reference

#include <ctaids.hpp>

Inheritance diagram for stm::tools::CtExceptions:

stm::tools::CtExceptions

stm::filespeclist

stm::local::xfilespeclist

Collaboration diagram for stm::tools::CtExceptions:

stm::tools::CtExceptions

stm::filespeclist

stm::local::xfilespeclist

12.27.1 Detailed Description

ClearCase cleartool exceptions class.

A CtExceptions object is a stm::filespeclist designating those file system elements which have to be handledspecially.

Definition at line 265 of file ctaids.hpp.

Bitwise orable flags

No flag.

• static const word NoFlags = 0x0000• static const word PlainFile = 0x0001

Directory content flag.

• static const word Directory = 0x0002Plain file content flag.

• static const word Content = PlainFile | DirectoryBit mask for possible content flags.

• static const word Include = 0x0004Include action flag.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 182: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.27 stm::tools::CtExceptions Class Reference 181

• static const word Exclude = 0x0008Exclude action flag.

• static const word Actions = Include | ExcludeBit mask for possible action flags.

Public Types

• typedef filespeclist::const_iterator const_iteratorConstant iterator inherited from stm::filespeclist.

Public Member Functions

• void add (const std::string &spec, word flags=NoFlags)If spec begins with a path separator, it is appended to the exception list without this path separator.

• bool excludes (const std::string &path, bool directory=false) constReturns true, if this CtExceptions object excludes the plain file (if directory is false, the default) or thedirectory designated by the relative path path, else false.

• void clear ()Clears the exception list.

12.27.2 Member Typedef Documentation

12.27.2.1 typedef filespeclist::const_iterator stm::tools::CtExceptions::const_iterator

Constant iterator inherited from stm::filespeclist.

Reimplemented from stm::filespeclist.

Definition at line 269 of file ctaids.hpp.

12.27.3 Member Function Documentation

12.27.3.1 void stm::tools::CtExceptions::add (const std::string & spec, word flags = NoFlags)

If spec begins with a path separator, it is appended to the exception list without this path separator.

Else it is modified to match an arbitrary amount of directories in its front and this relative path is thenappended to the exception list.

Definition at line 558 of file ctaids.cpp.

References stm::pstring::allowedSeparators, stm::filespeclist::append(),stm::filespec::beginsWithRootName(), stm::filespec::normalize(), StmDebugAidsVerify, andstm::filespec::UseMultipleDirOperator.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 183: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.27 stm::tools::CtExceptions Class Reference 182

12.27.3.2 bool stm::tools::CtExceptions::excludes (const std::string & path, bool directory =false) const [inline]

Returns true, if this CtExceptions object excludes the plain file (if directory is false, the default) or thedirectory designated by the relative path path, else false.

Definition at line 447 of file xctaids.hpp.

12.27.3.3 void stm::tools::CtExceptions::clear () [inline]

Clears the exception list.

Reimplemented from stm::filespeclist.

Definition at line 461 of file xctaids.hpp.

References stm::filespeclist::clear().

12.27.4 Member Data Documentation

12.27.4.1 const word stm::tools::CtExceptions::NoFlags = 0x0000 [static]

Reimplemented from stm::filespeclist.

Definition at line 278 of file ctaids.hpp.

12.27.4.2 const word stm::tools::CtExceptions::PlainFile = 0x0001 [static]

Directory content flag.

Definition at line 281 of file ctaids.hpp.

12.27.4.3 const word stm::tools::CtExceptions::Directory = 0x0002 [static]

Plain file content flag.

Definition at line 284 of file ctaids.hpp.

12.27.4.4 const word stm::tools::CtExceptions::Content = PlainFile | Directory [static]

Bit mask for possible content flags.

Definition at line 287 of file ctaids.hpp.

12.27.4.5 const word stm::tools::CtExceptions::Include = 0x0004 [static]

Include action flag.

Definition at line 290 of file ctaids.hpp.

12.27.4.6 const word stm::tools::CtExceptions::Exclude = 0x0008 [static]

Exclude action flag.

Definition at line 293 of file ctaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 184: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.28 stm::tools::CtOperation Class Reference 183

12.27.4.7 const word stm::tools::CtExceptions::Actions = Include | Exclude [static]

Bit mask for possible action flags.

Definition at line 296 of file ctaids.hpp.

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

• ctaids.hpp• xctaids.hpp• ctaids.cpp

12.28 stm::tools::CtOperation Class Reference

#include <ctaids.hpp>

Inheritance diagram for stm::tools::CtOperation:

stm::tools::CtOperation

stm::tools::local::xCtOperation

Collaboration diagram for stm::tools::CtOperation:

stm::tools::CtOperationstm::tools::local::xCtOperation

stm::tools::Ct ct_stm::tools::local::xCtstm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >logger_

stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >

stm::logger_base

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

std::basic_ostringstream< std::string ::value_type, std::string ::traits_type, std::string ::allocator_type >

stm::local::basic_xlogger< std::string, lockingPolicy >

stm::local::basic_xlogger< StringT, lockingPolicy >::Stream output

stm::local::basic_xlogger< StringT, lockingPolicy >output

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmtfmt

< std::string, lockingPolicy >

< std::string, stdIndent, lineLength, lockingPolicy >

stm::tools::local::xCtOperation::LabelListlabelList_

12.28.1 Detailed Description

ClearCase cleartool operation class.

Definition at line 197 of file ctaids.hpp.

Public Member Functions

• CtOperation (Ct &ct, unsigned int getMastershipTimeoutSec=DefaultGetMastershipTimeoutSec)Constructs a CtOperation object for ct with get mastership timeout.

• const Ct & ct () constReturns a constant reference to the Ct object of this CtOperation.

• Ct & ct ()• void setVobRoot (const std::string &vobRoot)

Sets the ClearCase VOB root of this CtOperation to vobRoot.

• const std::string & getVobRoot () constReturns the ClearCase VOB root of this CtOperation.

• const std::string & getCurrentReplica () const

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 185: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.28 stm::tools::CtOperation Class Reference 184

Returns the current replica of the ClearCase VOB root of this CtOperation.

• int getMastershipTimeout () const• void setMastershipTimeout (unsigned int timeout)• bool obtainReplicaMastership (const std::string &path) const

Returns true, if the replica mastership for the ClearCase VOB element path could be obtained within get-MastershipTimeout() seconds, else false.

• void checkOut (const std::string &path) constThe method checks out the ClearCase VOB element path.

• size_t addLabels (const std::string &labelListSpec, bool replaceable=false)• void prepareLabels ()• size_t labelCount () const• void label (const std::string &element) const• void label (const Ct::ArgList &elements) const• bool isLabel (const std::string &label) const

The method isLabel returns true, if label is defined as a ClearCase label, else false.

Static Public Attributes

• static const unsigned int DefaultGetMastershipTimeoutSec = 5Default timeout in seconds to obtain the masterschip of a directory.

12.28.2 Constructor & Destructor Documentation

12.28.2.1 stm::tools::CtOperation::CtOperation (Ct & ct, unsigned int getMastershipTimeoutSec =DefaultGetMastershipTimeoutSec) [inline]

Constructs a CtOperation object for ct with get mastership timeout.

Definition at line 344 of file xctaids.hpp.

12.28.3 Member Function Documentation

12.28.3.1 const Ct & stm::tools::CtOperation::ct () const [inline]

Returns a constant reference to the Ct object of this CtOperation.

Definition at line 349 of file xctaids.hpp.

References stm::tools::local::xCtOperation::ct_.

12.28.3.2 Ct & stm::tools::CtOperation::ct () [inline]

Definition at line 355 of file xctaids.hpp.

References stm::tools::local::xCtOperation::ct_.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 186: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.28 stm::tools::CtOperation Class Reference 185

12.28.3.3 void stm::tools::CtOperation::setVobRoot (const std::string & vobRoot) [inline]

Sets the ClearCase VOB root of this CtOperation to vobRoot.

Definition at line 361 of file xctaids.hpp.

References stm::tools::local::xCtOperation::vobRoot_.

12.28.3.4 const std::string & stm::tools::CtOperation::getVobRoot () const [inline]

Returns the ClearCase VOB root of this CtOperation.

Definition at line 368 of file xctaids.hpp.

References stm::tools::local::xCtOperation::vobRoot_.

12.28.3.5 const std::string & stm::tools::CtOperation::getCurrentReplica () const

Returns the current replica of the ClearCase VOB root of this CtOperation.

Definition at line 321 of file ctaids.cpp.

References stm::tools::local::xCtOperation::currentReplica_, stm::tools::Ct::isVobElement(),stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >::mkPath(), PATHLEN, andstm::tools::local::xCtOperation::vobRoot_.

Referenced by obtainReplicaMastership().

12.28.3.6 int stm::tools::CtOperation::getMastershipTimeout () const [inline]

Definition at line 374 of file xctaids.hpp.

References stm::tools::local::xCtOperation::mastershipTimeout_.

12.28.3.7 void stm::tools::CtOperation::setMastershipTimeout (unsigned int timeout) [inline]

Definition at line 380 of file xctaids.hpp.

References stm::tools::local::xCtOperation::mastershipTimeout_.

12.28.3.8 bool stm::tools::CtOperation::obtainReplicaMastership (const std::string & path) const

Returns true, if the replica mastership for the ClearCase VOB element path could be obtained withingetMastershipTimeout() seconds, else false.

Definition at line 416 of file ctaids.cpp.

References stm::tools::local::xCtOperation::ct_, stm::tools::Ct::execCommand(),stm::tools::Ct::getCurrentBranch(), stm::tools::Ct::getCurrentMasterReplica(), getCurren-tReplica(), stm::tools::Ct::getMode(), stm::tools::local::xCtOperation::mastershipTimeout_, andstm::tools::Ct::Mode::Simulate.

Referenced by checkOut().

12.28.3.9 void stm::tools::CtOperation::checkOut (const std::string & path) const

The method checks out the ClearCase VOB element path.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 187: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.28 stm::tools::CtOperation Class Reference 186

If path is a directory, first the replica masterschip is tried to obtain. On error a std::runtime_error exceptionis thrown.

Definition at line 450 of file ctaids.cpp.

References stm::tools::local::xCtOperation::ct_, stm::tools::Ct::execCommand(),stm::tools::Ct::getCiCommentOption(), stm::basic_logger< std::string, stdIndent, lineLength, lock-ingPolicy >::mkPath(), and obtainReplicaMastership().

12.28.3.10 size_t stm::tools::CtOperation::addLabels (const std::string & labelListSpec, bool re-placeable = false) [inline]

Definition at line 388 of file xctaids.hpp.

References stm::brace_expand(), and stm::tools::local::xCtOperation::labelList_.

12.28.3.11 void stm::tools::CtOperation::prepareLabels ()

Definition at line 468 of file ctaids.cpp.

References stm::tools::local::xCtOperation::ct_, stm::tools::Ct::execCommand(), is-Label(), stm::tools::Ct::isVobElement(), stm::tools::local::xCtOperation::labelList_-, stm::tools::local::xCtOperation::labelsPrepared_, stm::basic_logger< std::string, stdIndent, lineLength,lockingPolicy >::mkPath(), stm::tools::local::xCtOperation::LabelList::prepare(), StmElements, andstm::tools::local::xCtOperation::vobRoot_.

12.28.3.12 size_t stm::tools::CtOperation::labelCount () const [inline]

Definition at line 399 of file xctaids.hpp.

References stm::tools::local::xCtOperation::labelList_, and StmElements.

12.28.3.13 void stm::tools::CtOperation::label (const std::string & element) const [inline]

Definition at line 410 of file xctaids.hpp.

References stm::tools::local::xCtOperation::ct_, stm::tools::Ct::execCommand(),stm::tools::local::xCtOperation::LabelList::getCommand(), stm::tools::local::xCtOperation::labelList_,and StmElements.

12.28.3.14 void stm::tools::CtOperation::label (const Ct::ArgList & elements) const [inline]

Definition at line 426 of file xctaids.hpp.

References stm::tools::Ct::ArgList::exec(), stm::tools::local::xCtOperation::LabelList::getCommand(),stm::tools::local::xCtOperation::labelList_, and StmElements.

12.28.3.15 bool stm::tools::CtOperation::isLabel (const std::string & label) const

The method isLabel returns true, if label is defined as a ClearCase label, else false.

Throws on error.

Definition at line 503 of file ctaids.cpp.

References stm::tools::Ct::isVobElement(), PATHLEN, stm::trim(), andstm::tools::local::xCtOperation::vobRoot_.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 188: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.29 stm::smartptr::local::decrefcount< T, Compare, refcounted, multirange > Struct TemplateReference 187

Referenced by prepareLabels().

12.28.4 Member Data Documentation

12.28.4.1 const unsigned int stm::tools::CtOperation::DefaultGetMastershipTimeoutSec = 5[static]

Default timeout in seconds to obtain the masterschip of a directory.

Definition at line 201 of file ctaids.hpp.

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

• ctaids.hpp• xctaids.hpp• ctaids.cpp

12.29 stm::smartptr::local::decrefcount< T, Compare, refcounted, multirange >Struct Template Reference

#include <smartptrxaids.hpp>

12.29.1 Detailed Description

template<class T, class Compare, bool refcounted, bool multirange> structstm::smartptr::local::decrefcount< T, Compare, refcounted, multirange >

Definition at line 483 of file smartptrxaids.hpp.

Public Member Functions

• void operator() (item_descr< T, Compare, refcounted, multirange > &descr)

12.29.2 Member Function Documentation

12.29.2.1 template<class T, class Compare, bool refcounted, bool multirange> voidstm::smartptr::local::decrefcount< T, Compare, refcounted, multirange >::operator() (item_-descr< T, Compare, refcounted, multirange > & descr) [inline]

Definition at line 486 of file smartptrxaids.hpp.

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

• smartptrxaids.hpp

12.30 stm::tools::DspMessage< ContextT > Class Template Reference

#include <dspmsg.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 189: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.30 stm::tools::DspMessage< ContextT > Class Template Reference 188

Inheritance diagram for stm::tools::DspMessage< ContextT >:

stm::tools::DspMessage< ContextT >

stm::tools::local::xDspMessage< ContextT >

Collaboration diagram for stm::tools::DspMessage< ContextT >:

stm::tools::DspMessage< ContextT >stm::tools::local::xDspMessage< ContextT >stm::tools::BinMessage< ContextT >parent_

stm::byte_iterator_range

body_

stm::tools::BaseMessage< ContextT >

stm::tools::local::xBaseMessage< ContextT >

body_

stm::tools::local::xBinMessage< ContextT >message_

stm::tools::MsgTimestamptimestamp_

stm::tools::local::xMsgTimestamp

stm::tools::local::xTraceHeader

traceHeader_

12.30.1 Detailed Description

template<class ContextT> class stm::tools::DspMessage< ContextT >

DSP message contained in a binary message.

Definition at line 106 of file dspmsg.hpp.

Public Types

• enum { NoError = 0x00000000 }Error status.

• typedef ContextT context_typeContext type of the messages to be scanned.

• typedef BinMessage< ContextT > parent_typeType of the binary message wrapping this DspMessage.

Public Member Functions

• DspMessage (const parent_type &parent)Construct a DspMessage object contained in the binary message parent.

• virtual ∼DspMessage ()Virtual destructor to allow polymorphic class hierarchies.

• dword status () constReturns the status of the DSP message.

• bool hasTraceHeader () constReturns true, if the message has a trace header.

• const TraceHeader & traceHeader () const

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 190: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.30 stm::tools::DspMessage< ContextT > Class Template Reference 189

Returns a reference to the message’s trace header.

• const byte_iterator_range & body () constReturns the byte range consisting of the message’s body.

• const parent_type & parent ()Returns the message’s parent.

Private Types

• typedef local::xDspMessage< ContextT > DspMessageImplImplementation.

Classes

• class TraceHeaderType representing a trace header.

12.30.2 Member Typedef Documentation

12.30.2.1 template<class ContextT> typedef local::xDspMessage<ContextT>stm::tools::DspMessage< ContextT >::DspMessageImpl [private]

Implementation.

Definition at line 110 of file dspmsg.hpp.

12.30.2.2 template<class ContextT> typedef ContextT stm::tools::DspMessage< ContextT>::context_type

Context type of the messages to be scanned.

Reimplemented from stm::tools::local::xDspMessage< ContextT >.

Definition at line 114 of file dspmsg.hpp.

12.30.2.3 template<class ContextT> typedef BinMessage<ContextT> stm::tools::DspMessage<ContextT >::parent_type

Type of the binary message wrapping this DspMessage.

Reimplemented from stm::tools::local::xDspMessage< ContextT >.

Definition at line 117 of file dspmsg.hpp.

12.30.3 Member Enumeration Documentation

12.30.3.1 template<class ContextT> anonymous enum

Error status.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 191: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.30 stm::tools::DspMessage< ContextT > Class Template Reference 190

Enumerator:

NoError

Definition at line 120 of file dspmsg.hpp.

12.30.4 Constructor & Destructor Documentation

12.30.4.1 template<class ContextT> stm::tools::DspMessage< ContextT >::DspMessage (constparent_type & parent) [inline]

Construct a DspMessage object contained in the binary message parent.

Definition at line 225 of file xdspmsg.hpp.

References stm::tools::DspMessage< ContextT >::body(), stm::tools::local::xDspMessage< ContextT>::body_, stm::tools::DspMessage< ContextT >::NoError, stm::tools::local::xDspMessage< ContextT>::parent_, stm::tools::local::xDspMessage< ContextT >::status_, and stm::tools::DspMessage< Con-textT >::traceHeader().

12.30.4.2 template<class ContextT> stm::tools::DspMessage< ContextT >::∼DspMessage ()[inline, virtual]

Virtual destructor to allow polymorphic class hierarchies.

Definition at line 239 of file xdspmsg.hpp.

12.30.5 Member Function Documentation

12.30.5.1 template<class ContextT> dword stm::tools::DspMessage< ContextT >::status () const[inline]

Returns the status of the DSP message.

Definition at line 243 of file xdspmsg.hpp.

References stm::tools::local::xDspMessage< ContextT >::status_.

12.30.5.2 template<class ContextT> bool stm::tools::DspMessage< ContextT >::hasTraceHeader() const [inline]

Returns true, if the message has a trace header.

If traceHeader ().size () > 0, a trace header belongs to the message, else not.

Definition at line 250 of file xdspmsg.hpp.

References stm::tools::DspMessage< ContextT >::TraceHeader::size(), and stm::tools::DspMessage<ContextT >::traceHeader().

12.30.5.3 template<class ContextT> const DspMessage< ContextT >::TraceHeader &stm::tools::DspMessage< ContextT >::traceHeader () const [inline]

Returns a reference to the message’s trace header.

If traceHeader ().size () > 0, a trace header belongs to the message, else not.

Definition at line 257 of file xdspmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 192: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.31 stm::tools::DspMessage< ContextT >::TraceHeader Class Reference 191

References stm::tools::local::xDspMessage< ContextT >::traceHeader_.

Referenced by stm::tools::DspMessage< ContextT >::DspMessage(), and stm::tools::DspMessage< Con-textT >::hasTraceHeader().

12.30.5.4 template<class ContextT> const byte_iterator_range & stm::tools::DspMessage< Con-textT >::body () const [inline]

Returns the byte range consisting of the message’s body.

Definition at line 268 of file xdspmsg.hpp.

References stm::tools::local::xDspMessage< ContextT >::body_.

Referenced by stm::tools::DspMessage< ContextT >::DspMessage().

12.30.5.5 template<class ContextT> const DspMessage< ContextT >::parent_type &stm::tools::DspMessage< ContextT >::parent () [inline]

Returns the message’s parent.

Definition at line 275 of file xdspmsg.hpp.

References stm::tools::local::xDspMessage< ContextT >::parent_.

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

• dspmsg.hpp• xdspmsg.hpp

12.31 stm::tools::DspMessage< ContextT >::TraceHeader Class Reference

#include <dspmsg.hpp>

Inheritance diagram for stm::tools::DspMessage< ContextT >::TraceHeader:

stm::tools::DspMessage< ContextT >::TraceHeader

stm::tools::local::xTraceHeader

Collaboration diagram for stm::tools::DspMessage< ContextT >::TraceHeader:

stm::tools::DspMessage< ContextT >::TraceHeader

stm::tools::local::xTraceHeader

12.31.1 Detailed Description

template<class ContextT> class stm::tools::DspMessage< ContextT >::TraceHeader

Type representing a trace header.

Definition at line 126 of file dspmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 193: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.31 stm::tools::DspMessage< ContextT >::TraceHeader Class Reference 192

Public Member Functions

• TraceHeader (const byte_iterator_range &range)Construct a TraceHeader from range.

• word size () constReturn the size of this TraceHeader.

• word bfn () constReturn the BFN of this TraceHeader.

• word frameChips () constReturn the frame chips of this TraceHeader.

• word userFrameNo () constReturn the user frame number of this TraceHeader.

• word userSlotNo () constReturn the user slot number of this TraceHeader.

• word opCode () constReturn the Opcode of this TraceHeader.

• word payloadLength () constReturn the payload length of this TraceHeader.

Friends

• class DspMessage< ContextT >

12.31.2 Constructor & Destructor Documentation

12.31.2.1 template<class ContextT> stm::tools::DspMessage< ContextT>::TraceHeader::TraceHeader (const byte_iterator_range & range) [inline]

Construct a TraceHeader from range.

Definition at line 286 of file xdspmsg.hpp.

12.31.3 Member Function Documentation

12.31.3.1 template<class ContextT> word stm::tools::DspMessage< ContextT>::TraceHeader::size () const [inline]

Return the size of this TraceHeader.

A value of 0 means no valid trace header.

Definition at line 292 of file xdspmsg.hpp.

References stm::tools::local::xTraceHeader::size_.

Referenced by stm::tools::DspMessage< ContextT >::hasTraceHeader().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 194: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.31 stm::tools::DspMessage< ContextT >::TraceHeader Class Reference 193

12.31.3.2 template<class ContextT> word stm::tools::DspMessage< ContextT>::TraceHeader::bfn () const [inline]

Return the BFN of this TraceHeader.

Definition at line 296 of file xdspmsg.hpp.

References stm::tools::local::xTraceHeader::bfn_.

12.31.3.3 template<class ContextT> word stm::tools::DspMessage< ContextT>::TraceHeader::frameChips () const [inline]

Return the frame chips of this TraceHeader.

Definition at line 300 of file xdspmsg.hpp.

References stm::tools::local::xTraceHeader::frameChips_.

12.31.3.4 template<class ContextT> word stm::tools::DspMessage< ContextT>::TraceHeader::userFrameNo () const [inline]

Return the user frame number of this TraceHeader.

Definition at line 304 of file xdspmsg.hpp.

References stm::tools::local::xTraceHeader::userFrameNo_.

12.31.3.5 template<class ContextT> word stm::tools::DspMessage< ContextT>::TraceHeader::userSlotNo () const [inline]

Return the user slot number of this TraceHeader.

Definition at line 308 of file xdspmsg.hpp.

References stm::tools::local::xTraceHeader::userSlotNo_.

12.31.3.6 template<class ContextT> word stm::tools::DspMessage< ContextT>::TraceHeader::opCode () const [inline]

Return the Opcode of this TraceHeader.

Definition at line 312 of file xdspmsg.hpp.

References stm::tools::local::xTraceHeader::opCode_.

12.31.3.7 template<class ContextT> word stm::tools::DspMessage< ContextT>::TraceHeader::payloadLength () const [inline]

Return the payload length of this TraceHeader.

Definition at line 316 of file xdspmsg.hpp.

References stm::tools::local::xTraceHeader::payloadLength_.

12.31.4 Friends And Related Function Documentation

12.31.4.1 template<class ContextT> friend class DspMessage< ContextT > [friend]

Definition at line 128 of file dspmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 195: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.32 stm::local::errmsg Class Reference 194

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

• dspmsg.hpp• xdspmsg.hpp

12.32 stm::local::errmsg Class Reference

#include <debugxaids.hpp>

12.32.1 Detailed Description

Implementation class for macro StmDebugAidsErrmsg.

Definition at line 193 of file debugxaids.hpp.

Public Member Functions

• errmsg (const std::string &file, int line)• template<class Operand>

errmsg & operator<< (const Operand &op)• operator std::string () const

Static Public Attributes

• static bool active = false

12.32.2 Constructor & Destructor Documentation

12.32.2.1 stm::local::errmsg::errmsg (const std::string & file, int line) [inline]

Definition at line 196 of file debugxaids.hpp.

12.32.3 Member Function Documentation

12.32.3.1 template<class Operand> errmsg& stm::local::errmsg::operator<< (const Operand &op) [inline]

Definition at line 209 of file debugxaids.hpp.

12.32.3.2 stm::local::errmsg::operator std::string () const [inline]

Definition at line 215 of file debugxaids.hpp.

12.32.4 Member Data Documentation

12.32.4.1 bool stm::local::errmsg::active = false [static]

Definition at line 217 of file debugxaids.hpp.

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

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 196: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.33 stm::filefind< PathContainerT > Class Template Reference 195

• debugxaids.hpp• debugaids.cpp

12.33 stm::filefind< PathContainerT > Class Template Reference

#include <filesysaids.hpp>

Inheritance diagram for stm::filefind< PathContainerT >:

stm::filefind< PathContainerT >

stm::local::xfilefind< PathContainerT >

Collaboration diagram for stm::filefind< PathContainerT >:

stm::filefind< PathContainerT >

stm::local::xfilefind< PathContainerT >

12.33.1 Detailed Description

template<class PathContainerT = std::set<numpstring>> class stm::filefind< PathContainerT >

Container class representing existing file system elements defined by a file spec using pattern matchingbased file name expansion.

The file system elements in the conatiner are represented by their paths. As the implementation of filefinduses regular expressions (see Abstract Data Type StmRe), for its error control the macro StmRectrlTrycan be used.

Examples:

filesystest.cpp.

Definition at line 1271 of file filesysaids.hpp.

With filespec flags bitwise orable flags

• static const dword NoFlags = 0• static const dword NoDirectories = impl::NoDirectories• static const dword NoPlainFiles = impl::NoPlainFiles• static const dword StoreRelative = impl::StoreRelative

Public Types

• typedef PathContainerT pathcontainer_typeContainer type.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 197: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.33 stm::filefind< PathContainerT > Class Template Reference 196

• typedef pathcontainer_type::value_type path_typeContainer element type.

Public Member Functions

• filefind (dword flags=NoFlags, const std::string &stem=std::string())Construct an empty container with default flags.

• filefind (const std::string &spec, dword flags=NoFlags, const std::string &stem=std::string())Constructs a container with flags as default flags and the absolute stem containing the existing file systemelements as if insert (spec) was executed after constructing the container with filefind (flags, stem).

• int insert (const std::string &spec)Inserts existing file system elements into this container as if the method insert (spec, flags) with the contain-ers’s default flags was executed and returns the number of actually inserted items.

• int insert (const std::string &spec, dword flags)Inserts all existing file system elements defined by spec according to flags into the container.

• dword getFlags () constReturns the default flags of this filefind container.

• path_type getStem () constReturns the absolute stem of this filefind container, if defined, else path_type ().

Private Types

• typedef local::xfilefind< PathContainerT > implImplementation.

12.33.2 Member Typedef Documentation

12.33.2.1 template<class PathContainerT = std::set<numpstring>> typedeflocal::xfilefind<PathContainerT> stm::filefind< PathContainerT >::impl [private]

Implementation.

Reimplemented from stm::local::xfilefind< PathContainerT >.

Definition at line 1276 of file filesysaids.hpp.

12.33.2.2 template<class PathContainerT = std::set<numpstring>> typedef PathContainerTstm::filefind< PathContainerT >::pathcontainer_type

Container type.

Sequence containers as well as associative containers may be used.

Reimplemented from stm::local::xfilefind< PathContainerT >.

Definition at line 1289 of file filesysaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 198: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.33 stm::filefind< PathContainerT > Class Template Reference 197

12.33.2.3 template<class PathContainerT = std::set<numpstring>> typedef pathcontainer_-type::value_type stm::filefind< PathContainerT >::path_type

Container element type.

It shall be default constructable and copyable. Moreover, it shall have a constructor with a single conststd::string & argument. A path_type object constructed with this constructor shall represent the file systemobject’s name.

Reimplemented from stm::local::xfilefind< PathContainerT >.

Definition at line 1295 of file filesysaids.hpp.

12.33.3 Constructor & Destructor Documentation

12.33.3.1 template<class PathContainerT> stm::filefind< PathContainerT >::filefind (dwordflags = NoFlags, const std::string & stem = std::string ()) [inline]

Construct an empty container with default flags.

A non-empty stem argument defines the absolute stem relative to which the file finding operations of thisfilefind container are performed. It is an error, if a non-empty stem represents no absolute path.

Definition at line 2307 of file filesysxaids.hpp.

12.33.3.2 template<class PathContainerT> stm::filefind< PathContainerT >::filefind (conststd::string & spec, dword flags = NoFlags, const std::string & stem = std::string ())[inline, explicit]

Constructs a container with flags as default flags and the absolute stem containing the existing file systemelements as if insert (spec) was executed after constructing the container with filefind (flags, stem).

Definition at line 2318 of file filesysxaids.hpp.

12.33.4 Member Function Documentation

12.33.4.1 template<class PathContainerT> int stm::filefind< PathContainerT >::insert (conststd::string & spec) [inline]

Inserts existing file system elements into this container as if the method insert (spec, flags) with the con-tainers’s default flags was executed and returns the number of actually inserted items.

Definition at line 2332 of file filesysxaids.hpp.

References stm::local::xfilespeclist::flags_.

12.33.4.2 template<class PathContainerT> int stm::filefind< PathContainerT >::insert (conststd::string & spec, dword flags) [inline]

Inserts all existing file system elements defined by spec according to flags into the container.

Spec may contain white space. If the flag StoreRelative is reset, the file system elements stored are madeabsolute using the function boost::filesystem::initial_path(), if necessary. Else spec shall not begin with aroot name and the file system elements stored are relative as follows. If an absolute stem is defined, theyare searched and stored relative to this absolute stem. If no absolute stem is defined, they are searched andstored relative to boost::filesystem::initial_path(). Even if the flag StoreRelative is reset and an absolutestem is defined, spec must not begin with a root name. In this case the file system elements are searchedrelative to this absolute stem, but stored as absolute paths.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 199: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.33 stm::filefind< PathContainerT > Class Template Reference 198

If the flag NoDirectories is set, directories are not inserted into the container, if the flag NoPlainFiles is set,plain files are not inserted into the container.

If the flag filespec::UseExtRegularExpr is set or if spec contains one of the unescaped extended regularexpression operators ’(’ or ’|’, spec is interpreted as extended regular expression as defined in the OpenSystem Group Base Specification Issue 6, IEEE Std 1003.1-2004 (XBD: 9.4).

Otherwise if the flag filespeclist::SingleSpec is set, or if the flag filespeclist::NoBraceExpansion is set, orif spec contains no unescaped ’{’, spec is interpreted as filename expansion pattern as defined in IEEEStd 1003.1-2004 (XCU: 2.13.3). Else spec is brace expanded as in the bash shell, each of the resultingwords is interpreted as filename expansion pattern and is handled separately. As mandated by IEEE std1003.1-2004 the filename expansion pattern based operations occur for each path separator separated partof spec independently. To circumvent this, if the flag filespec::UseMultipleDirOperator is set and the flagfilespec::NoPathSeparators is not set, the operator ’∗∗’ as such a spec part matches a sequence of zero ormore pairs each consisting of a file system element name component designating a directory and a pathseparator.

The bracket expressions used in the regular expressions and in the filename expansion patterns conform toIEEE Std 1003.1-2004 (XBD: 9.3.5) with the exception that equivalence classes [=x=] of collating elementsare not supported. If filename expansion patterns are used and the flag filespec::NoCharClass is set, alsocollating symbols [.x.] and character classes [:x:] are not allowed inside bracket expressions. If the flagfilespec::NoBracketExpr is set, bracket expressions are not allowed at all in filename expansion patterns.

The method returns the number of items actually inserted.

Definition at line 2342 of file filesysxaids.hpp.

References stm::filespec::beginsWithRootName(), stm::brace_expand(),stm::filespec::containsUnescapedBrace(), stm::filespec::containsUnescapedEreOperator(),stm::filespec::MakeAbsolute, stm::filespeclist::NoBraceExpansion, stm::filespeclist::SingleSpec,stm::trim(), and stm::filespec::UseExtRegularExpr.

12.33.4.3 template<class PathContainerT> dword stm::filefind< PathContainerT >::getFlags ()const [inline]

Returns the default flags of this filefind container.

Definition at line 2418 of file filesysxaids.hpp.

References stm::local::xfilefind< PathContainerT >::flags_.

12.33.4.4 template<class PathContainerT> filefind< PathContainerT >::path_type stm::filefind<PathContainerT >::getStem () const [inline]

Returns the absolute stem of this filefind container, if defined, else path_type ().

Definition at line 2427 of file filesysxaids.hpp.

References stm::local::xfilefind< PathContainerT >::stem_.

12.33.5 Member Data Documentation

12.33.5.1 template<class PathContainerT = std::set<numpstring>> const dword stm::filefind<PathContainerT >::NoFlags = 0 [static]

Definition at line 1281 of file filesysaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 200: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.34 stm::filespec Class Reference 199

12.33.5.2 template<class PathContainerT = std::set<numpstring>> const dword stm::filefind<PathContainerT >::NoDirectories = impl::NoDirectories [static]

Reimplemented from stm::local::xfilefind< PathContainerT >.

Definition at line 1282 of file filesysaids.hpp.

12.33.5.3 template<class PathContainerT = std::set<numpstring>> const dword stm::filefind<PathContainerT >::NoPlainFiles = impl::NoPlainFiles [static]

Reimplemented from stm::local::xfilefind< PathContainerT >.

Definition at line 1283 of file filesysaids.hpp.

12.33.5.4 template<class PathContainerT = std::set<numpstring>> const dword stm::filefind<PathContainerT >::StoreRelative = impl::StoreRelative [static]

Reimplemented from stm::local::xfilefind< PathContainerT >.

Definition at line 1284 of file filesysaids.hpp.

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

• filesysaids.hpp• filesysxaids.hpp

12.34 stm::filespec Class Reference

#include <filesysaids.hpp>

Inheritance diagram for stm::filespec:

stm::filespec

stm::local::xfilespec

Collaboration diagram for stm::filespec:

stm::filespec

stm::local::xfilespec

12.34.1 Detailed Description

Class to specify file system element names.

An object of class filespec represents a set of file system element names defined by a file system spec. Asthe implementation of filespec uses regular expressions (see Abstract Data Type StmRe), for its errorcontrol the macro StmRectrlTry can be used.

Definition at line 955 of file filesysaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 201: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.34 stm::filespec Class Reference 200

Bitwise orable flags

As all these flag values use only the most significant word of the flags dword, the least significant word ofthe flags dword may be used for user supplied status.

This status, for instance, is evaluated in the method filespeclist::matches().

• static const dword NoFlags = 0• static const dword NoPathSeparators = impl::NoPathSeparators• static const dword NoRootName = impl::NoRootName• static const dword MakeAbsolute = impl::MakeAbsolute• static const dword NoCharClass = impl::NoCharClass• static const dword NoBracketExpr = impl::NoBracketExpr• static const dword UseExtRegularExpr = impl::UseExtRegularExpr• static const dword UseMultipleDirOperator = impl::UseMultipleDirOperator

Public Member Functions

• filespec (const std::string &spec=std::string(), dword flags=NoFlags)Constructs a filespec object specifying the file system element names defined by spec according to flags.

• bool matches (const std::string &entry) constThe method matches returns true, if entry matches one of the file system element names defined by thisfilespec object, else false.

• const char ∗ reStr () constThe method returns the regular expression defining this filespec.

• const std::string & getSpec () constThe method returns the file spec string defining this filespec.

• dword getFlags () constThe method returns the flags of this filespec object.

• word getState () constThe method returns the state of this filespec object.

• bool operator== (const filespec &other) constThe method returns true, if this filespec is the same as the other, else false.

• bool operator< (const filespec &other) constThe method returns true, if this filespec is less than the the other, else false.

Static Public Member Functions

• static std::string::size_type findFirstOfUnescaped (const std::string &spec, const std::string &chars,std::string::size_type pos=0)

The static method findFirstOfUnescaped returns the lowest position >= pos within spec of an unescapedoccurance of one of the characters specified by chars, else std::string::npos.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 202: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.34 stm::filespec Class Reference 201

• static std::string::size_type findFirstOfUnescaped (const std::string &spec, char ch, std::string::size_-type pos=0)

The static method findFirstOfUnescaped returns the lowest position >= pos within spec of an unescapedoccurance of the character ch, else std::string::npos.

• static std::string::size_type findLastOfUnescaped (const std::string &spec, const std::string &chars,std::string::size_type pos=std::string::npos)

The static method findLastOfUnescaped returns the highest position <= pos within spec of an unescapedoccurance of one of the characters specified by chars, else std::string::npos.

• static std::string::size_type findLastOfUnescaped (const std::string &spec, char ch, std::string::size_-type pos=std::string::npos)

The static method findLastOfUnescaped returns the highest position <= pos within spec of an unescapedoccurance of the character ch, else std::string::npos.

• static std::pair< std::string::size_type, std::string::size_type > findUnescapedParentheses (conststd::string &spec, const char ∗par, std::string::size_type pos=std::string::npos)

The static method findUnescapedParentheses returns a pair of positions within str such that its first memberis the lowest position >= pos of an unescaped occurance of par [0] and its second member is the lowestposition > the first position of an unescaped occurance of par [1] forming a balanced pair of parentheses.

• static bool containsUnescapedPatternMatchingOperator (const std::string &spec, dwordflags=NoFlags)

The static method containsUnescapedPatternMatchingOperator returns true, if spec contains an unescapedpattern matching operator according to flags, else false.

• static std::string normalize (const std::string &spec, dword flags=NoFlags)The static method normalize determines the lowest occurance of an unescaped pattern matching opera-tor in spec according to flags and normalizes the part before the next lower path separator by means ofboost::filesystemm::path::normalize().

• static bool containsUnescapedEreOperator (const std::string &spec)The static method containsUnescapedEreOperator returns true, if spec contains an unescaped extendedregular expression operator ’(’ or ’|’, else false.

• static bool containsUnescapedBrace (const std::string &spec)The static method containsUnescapedBrace returns true, if spec contains an unescaped ’{’, else false.

• static bool isAbsolute (const std::string &spec)The static method isAbsolute returns true, if spec specifies an absolute path, else false.

• static bool beginsWithRootName (const std::string &spec)The static method beginsWithRootName returns true, if spec specifies a path beginning with a root name,else false.

• static bool beginsWithRootDirectory (const std::string &spec)The static method beginsWithRootDirectory returns true, if spec specifies a path beginning with a rootdirectory, else false.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 203: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.34 stm::filespec Class Reference 202

12.34.2 Constructor & Destructor Documentation

12.34.2.1 stm::filespec::filespec (const std::string & spec = std::string (), dword flags =NoFlags)

Constructs a filespec object specifying the file system element names defined by spec according to flags.

The most significant word of flags consists of orable bits explained below. The least significant word offlags is a multi-purpose field which can be used to store a filespec object’s state. If spec contains whitespace, it defines file system element names with that white space.

If the flag NoRootName is set, spec must not contain a root name. If the flag NoPathSeparators is set,spec must not contain path separators. In this case the flag MakeAbsolute is irrelevant. Else if the flagMakeAbsolute is set and spec is not yet absolute, the file system element names defined are made absoluteusing the function boost::filesystem::initial_path().

If the flag UseExtRegularExpr is set or if spec contains one of the unescaped extended regular expressionoperators ’(’ or ’|’, spec is interpreted as extended regular expression as defined in the Open System GroupBase Specification Issue 6, IEEE Std 1003.1-2004 (XBD: 9.4). Else spec is interpreted as filename expan-sion pattern as defined in IEEE Std 1003.1-2004 (XCU: 2.13.3). As mandated by IEEE std 1003.1-2004the filename expansion pattern based operations occur for each path separator separated part of spec inde-pendently. To circumvent this, if the flag UseMultipleDirOperator is set and the flag NoPathSeparators isnot set, the operator ’∗∗’ as such a spec part matches a sequence of zero or more pairs each consisting of afile system element name component designating a directory and a path separator.

The bracket expressions used in the regular expressions and in the filename expansion patterns conformto IEEE Std 1003.1-2004 (XBD: 9.3.5) with the exception that equivalence classes [=x=] of collatingelements are not supported. If filename expansion patterns are used and the flag NoCharClass is set, alsocollating symbols [.x.] and character classes [:x:] are not allowed inside bracket expressions. If the flagNoBracketExpr is set, bracket expressions are not allowed at all in filename expansion patterns.

On Windows systems as escape character for extended regular expressions and filename expansion patterns’%’ is used instead of the usual ’\’ and as path separators ’/’ or ’\’ are allowed. The method throws onerror.

Definition at line 212 of file filesysaids.cpp.

References beginsWithRootName(), containsUnescapedEreOperator(), stm::local::xfilespec::ereFileSpec,stm::local::xfilespec::Env::flags, stm::local::xfilespec::fspec, stm::local::xfilespec::fullFileSpec,stm::local::xfilespec::id, stm::local::xfilespec::Env::LastPart, MakeAbsolute, NoBracketExpr,stm::local::xfilespec::noBracketExprFileSpec, NoCharClass, stm::local::xfilespec::noCharClassFileSpec,NoPathSeparators, NoRootName, stm::local::xfilespec::partition(), stm::local::xfilespec::Env::PathSep,PsepRe, stm::local::xfilespec::re, stm::local::xfilespec::reCtrl, stmReCreate(), stmReMatch(), andUseExtRegularExpr.

12.34.3 Member Function Documentation

12.34.3.1 bool stm::filespec::matches (const std::string & entry) const [inline]

The method matches returns true, if entry matches one of the file system element names defined by thisfilespec object, else false.

Definition at line 2144 of file filesysxaids.hpp.

References stm::local::xfilespec::re, stmReMatch(), and StmTrue.

Referenced by stm::local::xfilefind< PathContainerT >::handlePath().

12.34.3.2 const char ∗ stm::filespec::reStr () const [inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 204: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.34 stm::filespec Class Reference 203

The method returns the regular expression defining this filespec.

Definition at line 2150 of file filesysxaids.hpp.

References stm::local::xfilespec::re, and stmReGetReStr().

12.34.3.3 const std::string & stm::filespec::getSpec () const [inline]

The method returns the file spec string defining this filespec.

Definition at line 2156 of file filesysxaids.hpp.

References stm::local::xfilespec::fspec.

12.34.3.4 dword stm::filespec::getFlags () const [inline]

The method returns the flags of this filespec object.

The least significant word of the flags dword is serving as multi-purpose state parameter.

Definition at line 2162 of file filesysxaids.hpp.

12.34.3.5 word stm::filespec::getState () const [inline]

The method returns the state of this filespec object.

This is the least significant word of the flags dword of this filespec object.

Definition at line 2168 of file filesysxaids.hpp.

12.34.3.6 bool stm::filespec::operator== (const filespec & other) const [inline]

The method returns true, if this filespec is the same as the other, else false.

Definition at line 2174 of file filesysxaids.hpp.

References stm::local::xfilespec::flags, and stm::local::xfilespec::fspec.

12.34.3.7 bool stm::filespec::operator< (const filespec & other) const [inline]

The method returns true, if this filespec is less than the the other, else false.

The comparison is done first comparing the spec strings and second the flags.

Definition at line 2180 of file filesysxaids.hpp.

References stm::local::xfilespec::flags, and stm::local::xfilespec::fspec.

12.34.3.8 std::string::size_type stm::filespec::findFirstOfUnescaped (const std::string & spec,const std::string & chars, std::string::size_type pos = 0) [static]

The static method findFirstOfUnescaped returns the lowest position >= pos within spec of an unescapedoccurance of one of the characters specified by chars, else std::string::npos.

On Windows systems as escape character ’%’ is used instead of the usual ’\’.

Definition at line 374 of file filesysaids.cpp.

References Esc.

Referenced by stm::brace_expand(), containsUnescapedBrace(), containsUnescapedEreOperator(), con-tainsUnescapedPatternMatchingOperator(), findUnescapedParentheses(), and normalize().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 205: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.34 stm::filespec Class Reference 204

12.34.3.9 std::string::size_type stm::filespec::findFirstOfUnescaped (const std::string & spec, charch, std::string::size_type pos = 0) [static]

The static method findFirstOfUnescaped returns the lowest position >= pos within spec of an unescapedoccurance of the character ch, else std::string::npos.

On Windows systems as escape character ’%’ is used instead of the usual ’\’.

Definition at line 390 of file filesysaids.cpp.

References Esc.

12.34.3.10 std::string::size_type stm::filespec::findLastOfUnescaped (const std::string & spec,const std::string & chars, std::string::size_type pos = std::string::npos) [static]

The static method findLastOfUnescaped returns the highest position <= pos within spec of an unescapedoccurance of one of the characters specified by chars, else std::string::npos.

On Windows systems as escape character ’%’ is used instead of the usual ’\’.

Definition at line 406 of file filesysaids.cpp.

References Esc.

12.34.3.11 std::string::size_type stm::filespec::findLastOfUnescaped (const std::string & spec,char ch, std::string::size_type pos = std::string::npos) [static]

The static method findLastOfUnescaped returns the highest position <= pos within spec of an unescapedoccurance of the character ch, else std::string::npos.

On Windows systems as escape character ’%’ is used instead of the usual ’\’.

Definition at line 423 of file filesysaids.cpp.

References Esc.

12.34.3.12 std::pair< std::string::size_type, std::string::size_type >stm::filespec::findUnescapedParentheses (const std::string & spec, const char ∗ par,std::string::size_type pos = std::string::npos) [static]

The static method findUnescapedParentheses returns a pair of positions within str such that its first memberis the lowest position >= pos of an unescaped occurance of par [0] and its second member is the lowestposition > the first position of an unescaped occurance of par [1] forming a balanced pair of parentheses.

If such a pair does not exist both members are std::string::npos. On Windows systems as escape character’%’ is used instead of the usual ’\’. It is an error, if par is no string of length 2 of two different characters.

Definition at line 441 of file filesysaids.cpp.

References findFirstOfUnescaped(), and StmDebugAidsVerify.

Referenced by stm::brace_expand().

12.34.3.13 bool stm::filespec::containsUnescapedPatternMatchingOperator (const std::string &spec, dword flags = NoFlags) [inline, static]

The static method containsUnescapedPatternMatchingOperator returns true, if spec contains an unescapedpattern matching operator according to flags, else false.

On Windows systems as escape character ’%’ is used instead of the usual ’\’.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 206: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.34 stm::filespec Class Reference 205

Definition at line 2188 of file filesysxaids.hpp.

References findFirstOfUnescaped(), NoBracketExpr, and UseExtRegularExpr.

Referenced by stm::local::xfilespec::partition().

12.34.3.14 std::string stm::filespec::normalize (const std::string & spec, dword flags = NoFlags)[inline, static]

The static method normalize determines the lowest occurance of an unescaped pattern matching opera-tor in spec according to flags and normalizes the part before the next lower path separator by means ofboost::filesystemm::path::normalize().

The result thereof is combined again with the rest of spec and returned.

Definition at line 2207 of file filesysxaids.hpp.

References findFirstOfUnescaped(), stm::local::xfilespec::fspec, NoBracketExpr, and UseExtRegularExpr.

Referenced by stm::tools::CtExceptions::add().

12.34.3.15 bool stm::filespec::containsUnescapedEreOperator (const std::string & spec)[inline, static]

The static method containsUnescapedEreOperator returns true, if spec contains an unescaped extendedregular expression operator ’(’ or ’|’, else false.

On Windows systems as escape character ’%’ is used instead of the usual ’\’.

Definition at line 2235 of file filesysxaids.hpp.

References findFirstOfUnescaped().

Referenced by stm::filespeclist::append(), filespec(), and stm::filefind< PathContainerT >::insert().

12.34.3.16 bool stm::filespec::containsUnescapedBrace (const std::string & spec) [inline,static]

The static method containsUnescapedBrace returns true, if spec contains an unescaped ’{’, else false.

On Windows systems as escape character ’%’ is used instead of the usual ’\’.

Definition at line 2241 of file filesysxaids.hpp.

References findFirstOfUnescaped().

Referenced by stm::filespeclist::append(), stm::brace_expand(), and stm::filefind< PathContainerT>::insert().

12.34.3.17 bool stm::filespec::isAbsolute (const std::string & spec) [static]

The static method isAbsolute returns true, if spec specifies an absolute path, else false.

Definition at line 317 of file filesysaids.cpp.

References stm::local::xfilespec::fspec, and stm::trim().

12.34.3.18 bool stm::filespec::beginsWithRootName (const std::string & spec) [static]

The static method beginsWithRootName returns true, if spec specifies a path beginning with a root name,else false.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 207: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.34 stm::filespec Class Reference 206

Definition at line 336 of file filesysaids.cpp.

References stm::local::xfilespec::fspec, and stm::trim().

Referenced by stm::tools::CtExceptions::add(), filespec(), and stm::filefind< PathContainerT >::insert().

12.34.3.19 bool stm::filespec::beginsWithRootDirectory (const std::string & spec) [static]

The static method beginsWithRootDirectory returns true, if spec specifies a path beginning with a rootdirectory, else false.

Definition at line 354 of file filesysaids.cpp.

References stm::local::xfilespec::fspec, and stm::trim().

12.34.4 Member Data Documentation

12.34.4.1 const dword stm::filespec::NoFlags = 0 [static]

Examples:

filesystest.cpp.

Definition at line 965 of file filesysaids.hpp.

Referenced by main().

12.34.4.2 const dword stm::filespec::NoPathSeparators = impl::NoPathSeparators [static]

Reimplemented from stm::local::xfilespec.

Definition at line 966 of file filesysaids.hpp.

Referenced by filespec().

12.34.4.3 const dword stm::filespec::NoRootName = impl::NoRootName [static]

Reimplemented from stm::local::xfilespec.

Definition at line 967 of file filesysaids.hpp.

Referenced by filespec().

12.34.4.4 const dword stm::filespec::MakeAbsolute = impl::MakeAbsolute [static]

Reimplemented from stm::local::xfilespec.

Definition at line 968 of file filesysaids.hpp.

Referenced by filespec(), and stm::filefind< PathContainerT >::insert().

12.34.4.5 const dword stm::filespec::NoCharClass = impl::NoCharClass [static]

Reimplemented from stm::local::xfilespec.

Examples:

filesystest.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 208: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.35 stm::filespeclist Class Reference 207

Definition at line 969 of file filesysaids.hpp.

Referenced by filespec(), and main().

12.34.4.6 const dword stm::filespec::NoBracketExpr = impl::NoBracketExpr [static]

Reimplemented from stm::local::xfilespec.

Examples:

filesystest.cpp.

Definition at line 970 of file filesysaids.hpp.

Referenced by containsUnescapedPatternMatchingOperator(), filespec(), main(), and normalize().

12.34.4.7 const dword stm::filespec::UseExtRegularExpr = impl::UseExtRegularExpr[static]

Reimplemented from stm::local::xfilespec.

Examples:

filesystest.cpp.

Definition at line 971 of file filesysaids.hpp.

Referenced by stm::filespeclist::append(), containsUnescapedPatternMatchingOperator(), filespec(),stm::filefind< PathContainerT >::insert(), main(), and normalize().

12.34.4.8 const dword stm::filespec::UseMultipleDirOperator = impl::UseMultipleDirOperator[static]

Reimplemented from stm::local::xfilespec.

Examples:

filesystest.cpp.

Definition at line 972 of file filesysaids.hpp.

Referenced by stm::tools::CtExceptions::add(), and main().

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

• filesysaids.hpp• filesysxaids.hpp• filesysaids.cpp

12.35 stm::filespeclist Class Reference

#include <filesysaids.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 209: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.35 stm::filespeclist Class Reference 208

Inheritance diagram for stm::filespeclist:

stm::filespeclist

stm::tools::CtExceptions

stm::local::xfilespeclist

Collaboration diagram for stm::filespeclist:

stm::filespeclist

stm::local::xfilespeclist

12.35.1 Detailed Description

List class of filespec objects.

An object of class filespeclist represents a list of filespec objects and flags to be used as default flags for con-struction of filespec objects to be inserted. As the implementation of filespeclist uses regular expressions(see Abstract Data Type StmRe), for its error control the macro StmRectrlTry can be used.

Definition at line 1179 of file filesysaids.hpp.

With filespec flags bitwise orable flags

• static const dword NoFlags = 0• static const dword NoBraceExpansion = impl::NoBraceExpansion• static const dword SingleSpec = impl::SingleSpec

Public Types

• typedef impl::const_iterator const_iteratorConstant filespeclist iterator.

Public Member Functions

• filespeclist (dword flags=filespec::NoFlags)Construct an empty filespeclist object with flags as default flags.

• filespeclist (const std::string &specs, dword flags=NoFlags)Constructs a filespeclist object with flags as default flags containing filespec objects as if append (specs,flags) was executed.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 210: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.35 stm::filespeclist Class Reference 209

• void clear ()Empties this filespeclist.

• void append (const std::string &specs)Appends filespec objects to this filespelist as if the method append (specs, flags) with the object’s defaultflags was executed.

• void append (const std::string &specs, dword flags)Appends filespec objects defined by specs and flags to this filespeclist.

• bool matches (const std::string &entry) constThe method matches returns true, if entry matches one of the file system element names defined by anyfilespec object in this filespeclist, else false.

• word matches (const std::string &entry, word mask) constThe method matches looks for the first filespec in this filspeclist matching entry, such that the matchingfilespec’s status logical anded with mask is not null.

12.35.2 Member Typedef Documentation

12.35.2.1 typedef impl::const_iterator stm::filespeclist::const_iterator

Constant filespeclist iterator.

Reimplemented in stm::tools::CtExceptions.

Definition at line 1183 of file filesysaids.hpp.

12.35.3 Constructor & Destructor Documentation

12.35.3.1 stm::filespeclist::filespeclist (dword flags = filespec::NoFlags) [inline]

Construct an empty filespeclist object with flags as default flags.

For flags the values NoBraceExpansion and SingleSpec as well as the flags of class filespec may be used.As all these flag values use only the most significant word of the flags dword, the least significant word ofthe flags dword may be used for user supplied status. This status is evaluated in the method matches (entry,state).

Definition at line 2251 of file filesysxaids.hpp.

12.35.3.2 stm::filespeclist::filespeclist (const std::string & specs, dword flags = NoFlags)[inline]

Constructs a filespeclist object with flags as default flags containing filespec objects as if append (specs,flags) was executed.

Throws on error.

Definition at line 2256 of file filesysxaids.hpp.

References append().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 211: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.35 stm::filespeclist Class Reference 210

12.35.4 Member Function Documentation

12.35.4.1 void stm::filespeclist::clear () [inline]

Empties this filespeclist.

Reimplemented in stm::tools::CtExceptions.

Definition at line 2263 of file filesysxaids.hpp.

Referenced by stm::tools::CtExceptions::clear().

12.35.4.2 void stm::filespeclist::append (const std::string & specs) [inline]

Appends filespec objects to this filespelist as if the method append (specs, flags) with the object’s defaultflags was executed.

Throws on error.

Definition at line 2270 of file filesysxaids.hpp.

References stm::local::xfilespeclist::flags_.

Referenced by stm::tools::CtExceptions::add(), and filespeclist().

12.35.4.3 void stm::filespeclist::append (const std::string & specs, dword flags)

Appends filespec objects defined by specs and flags to this filespeclist.

If the flag SingleSpec is set, if specs contains one of the unescaped extended regular expression operators’(’ or ’|’, if the flag filespec::UseExtRegularExpr is set, if specs contains no unescaped ’{’, or if the flagNoBraceExpansion is set, the filespec object filespec (specs, flags) is appended to this filespeclist.

Otherwise specs is brace expanded as in the bash shell and for each word resulting thus the filespec objectfilespec (word, flags) is appended to this filespeclist. On Windows systems as escape character for braceexpansion ’%’ is used instead of the usual ’\’. Throws on error.

Definition at line 475 of file filesysaids.cpp.

References stm::brace_expand(), stm::filespec::containsUnescapedBrace(),stm::filespec::containsUnescapedEreOperator(), NoBraceExpansion, SingleSpec, stm::trim(), andstm::filespec::UseExtRegularExpr.

12.35.4.4 bool stm::filespeclist::matches (const std::string & entry) const [inline]

The method matches returns true, if entry matches one of the file system element names defined by anyfilespec object in this filespeclist, else false.

Definition at line 2277 of file filesysxaids.hpp.

Referenced by matches().

12.35.4.5 word stm::filespeclist::matches (const std::string & entry, word mask) const [inline]

The method matches looks for the first filespec in this filspeclist matching entry, such that the matchingfilespec’s status logical anded with mask is not null.

This non-null value is returned, if such a match was found, else 0.

Definition at line 2287 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 212: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.36 stm::fixedfmt< FloatT > Class Template Reference 211

References matches().

12.35.5 Member Data Documentation

12.35.5.1 const dword stm::filespeclist::NoFlags = 0 [static]

Reimplemented in stm::tools::CtExceptions.

Definition at line 1192 of file filesysaids.hpp.

12.35.5.2 const dword stm::filespeclist::NoBraceExpansion = impl::NoBraceExpansion[static]

Reimplemented from stm::local::xfilespeclist.

Examples:

filesystest.cpp.

Definition at line 1193 of file filesysaids.hpp.

Referenced by append(), stm::filefind< PathContainerT >::insert(), and main().

12.35.5.3 const dword stm::filespeclist::SingleSpec = impl::SingleSpec [static]

Reimplemented from stm::local::xfilespeclist.

Examples:

filesystest.cpp.

Definition at line 1194 of file filesysaids.hpp.

Referenced by append(), stm::filefind< PathContainerT >::insert(), and main().

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

• filesysaids.hpp• filesysxaids.hpp• filesysaids.cpp

12.36 stm::fixedfmt< FloatT > Class Template Reference

#include <divaids.hpp>

Inheritance diagram for stm::fixedfmt< FloatT >:

stm::fixedfmt< FloatT >

stm::local::xfixedfmt< FloatT >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 213: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.36 stm::fixedfmt< FloatT > Class Template Reference 212

Collaboration diagram for stm::fixedfmt< FloatT >:

stm::fixedfmt< FloatT >

stm::local::xfixedfmt< FloatT >

FloatT

val_

12.36.1 Detailed Description

template<typename FloatT> class stm::fixedfmt< FloatT >

Class template allowing to format the floating point number of type FloatT held on an output stream infixed point notation using a specified precision.

Definition at line 1307 of file divaids.hpp.

Public Types

• typedef FloatT value_typeType of the value held by this object.

Public Member Functions

• fixedfmt (dword precision, value_type val=0)Construct an object holding the value val to be formatted with the specified precision.

• operator FloatT () constConvert to the value held by this object.

• dword precision () constReturn the precision specified.

• dword precision (dword prec)Specify a new precision and return the previous one.

Private Types

• typedef local::xfixedfmt< FloatT > implImplementation.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 214: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.36 stm::fixedfmt< FloatT > Class Template Reference 213

12.36.2 Member Typedef Documentation

12.36.2.1 template<typename FloatT> typedef local::xfixedfmt<FloatT> stm::fixedfmt< FloatT>::impl [private]

Implementation.

Definition at line 1310 of file divaids.hpp.

12.36.2.2 template<typename FloatT> typedef FloatT stm::fixedfmt< FloatT >::value_type

Type of the value held by this object.

Definition at line 1314 of file divaids.hpp.

12.36.3 Constructor & Destructor Documentation

12.36.3.1 template<typename FloatT> stm::fixedfmt< FloatT >::fixedfmt (dword precision,value_type val = 0) [inline]

Construct an object holding the value val to be formatted with the specified precision.

Definition at line 3304 of file divxaids.hpp.

12.36.4 Member Function Documentation

12.36.4.1 template<typename FloatT> stm::fixedfmt< FloatT >::operator FloatT () const[inline]

Convert to the value held by this object.

Definition at line 3309 of file divxaids.hpp.

References stm::local::xfixedfmt< FloatT >::val_.

12.36.4.2 template<typename FloatT> dword stm::fixedfmt< FloatT >::precision () const[inline]

Return the precision specified.

Definition at line 3316 of file divxaids.hpp.

References stm::local::xfixedfmt< FloatT >::prec_.

12.36.4.3 template<typename FloatT> dword stm::fixedfmt< FloatT >::precision (dword prec)[inline]

Specify a new precision and return the previous one.

Definition at line 3323 of file divxaids.hpp.

References stm::local::xfixedfmt< FloatT >::prec_.

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

• divaids.hpp• divxaids.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 215: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.37 stm::fmtflags Struct Reference 214

12.37 stm::fmtflags Struct Reference

#include <divaids.hpp>

Inheritance diagram for stm::fmtflags:

stm::fmtflags

stm::hexfmt< UnsignedT, DefaultFlags > stm::hexfmt< ElemT *, DefaultFlags >

12.37.1 Detailed Description

Base class of class template stm::hexfmt specifying format flags.

Definition at line 1177 of file divaids.hpp.

Public Types

• enum {

NoFlags = 0x00000000,

NoPrefix = 0x00000001,

LowerCase = 0x00000002 }Bitwise orable flags.

12.37.2 Member Enumeration Documentation

12.37.2.1 anonymous enum

Bitwise orable flags.

Enumerator:

NoFlags No flags.

NoPrefix Omit the hex prefix "0x".

LowerCase Render hexadecimal digits in lower case.

Definition at line 1180 of file divaids.hpp.

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

• divaids.hpp

12.38 stm::has_pow2size< T > Struct Template Reference

#include <divxaids.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 216: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.39 stm::hexfmt< UnsignedT, DefaultFlags > Class Template Reference 215

12.38.1 Detailed Description

template<typename T> struct stm::has_pow2size< T >

Definition at line 1400 of file divxaids.hpp.

Static Public Attributes

• static const bool value = 1 << boost::static_log2<sizeof (T)>::value == sizeof (T)

12.38.2 Member Data Documentation

12.38.2.1 template<typename T> const bool stm::has_pow2size< T >::value = 1 <<boost::static_log2<sizeof (T)>::value == sizeof (T) [static]

Definition at line 1402 of file divxaids.hpp.

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

• divxaids.hpp

12.39 stm::hexfmt< UnsignedT, DefaultFlags > Class Template Reference

#include <divaids.hpp>

Inheritance diagram for stm::hexfmt< UnsignedT, DefaultFlags >:

stm::hexfmt< UnsignedT, DefaultFlags >

stm::fmtflags stm::local::xhexfmt< UnsignedT >

Collaboration diagram for stm::hexfmt< UnsignedT, DefaultFlags >:

stm::hexfmt< UnsignedT, DefaultFlags >

stm::fmtflags stm::local::xhexfmt< UnsignedT >

UnsignedT

val_

12.39.1 Detailed Description

template<typename UnsignedT, dword DefaultFlags = fmtflags::NoFlags> class stm::hexfmt< Un-signedT, DefaultFlags >

Class template allowing to format the unsigned number held as hexadecimal string.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 217: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.39 stm::hexfmt< UnsignedT, DefaultFlags > Class Template Reference 216

Examples:

gencrctest.cpp, and smartptrtest.cpp.

Definition at line 1193 of file divaids.hpp.

Public Types

• typedef UnsignedT value_typeType of the value held by this object.

Public Member Functions

• hexfmt (value_type val=0, dword flags=defaultFlags)Construct an object holding the value val to be formatted with a prefix "0x" unless flag NoPrefix is set (de-fault is defaultFlags & NoPrefix) with upper case hexadecimal digits unless flag LowerCase is set (defaultis defaultFlags & LowerCase).

• hexfmt (value_type val, bool noprefix)Construct an object holding the value val to be formatted with a prefix "0x" unless noprefix is true.

• operator UnsignedT () constConvert to the value held by this object.

• dword flags () constReturn the flags in effect.

• dword flags (dword newFlags)Specify a new flags and return the previous ones.

• bool noprefix () constReturn the noprefix flag in effect.

• bool noprefix (bool nopr)Specify a new noprefix flag and return the previous one.

• template<class StringT>

operator StringT () constConvert the value held by this object to the hexadecimal StringT representation according to the flags ineffect.

Static Public Member Functions

• template<class StringT, class IteratorT>

static StringT dump (IteratorT first, IteratorT last)Return a string containing the hex dump of the value_type range [∗first, ∗last) without prefix "0x".

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 218: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.39 stm::hexfmt< UnsignedT, DefaultFlags > Class Template Reference 217

Static Public Attributes

• static const dword defaultFlags = DefaultFlagsDefault flags.

Private Types

• typedef local::xhexfmt< UnsignedT > implImplementation.

12.39.2 Member Typedef Documentation

12.39.2.1 template<typename UnsignedT, dword DefaultFlags = fmtflags::NoFlags> typedeflocal::xhexfmt<UnsignedT> stm::hexfmt< UnsignedT, DefaultFlags >::impl [private]

Implementation.

Definition at line 1198 of file divaids.hpp.

12.39.2.2 template<typename UnsignedT, dword DefaultFlags = fmtflags::NoFlags> typedef Un-signedT stm::hexfmt< UnsignedT, DefaultFlags >::value_type

Type of the value held by this object.

Definition at line 1205 of file divaids.hpp.

12.39.3 Constructor & Destructor Documentation

12.39.3.1 template<typename UnsignedT, dword DefaultFlags> stm::hexfmt< UnsignedT, De-faultFlags >::hexfmt (value_type val = 0, dword flags = defaultFlags) [inline]

Construct an object holding the value val to be formatted with a prefix "0x" unless flag NoPrefix is set (de-fault is defaultFlags & NoPrefix) with upper case hexadecimal digits unless flag LowerCase is set (defaultis defaultFlags & LowerCase).

Definition at line 3078 of file divxaids.hpp.

12.39.3.2 template<typename UnsignedT, dword DefaultFlags> stm::hexfmt< UnsignedT, De-faultFlags >::hexfmt (value_type val, bool noprefix) [inline]

Construct an object holding the value val to be formatted with a prefix "0x" unless noprefix is true.

Definition at line 3084 of file divxaids.hpp.

12.39.4 Member Function Documentation

12.39.4.1 template<typename UnsignedT, dword DefaultFlags> stm::hexfmt< UnsignedT, De-faultFlags >::operator UnsignedT () const [inline]

Convert to the value held by this object.

Definition at line 3095 of file divxaids.hpp.

References stm::local::xhexfmt< UnsignedT >::val_.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 219: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.39 stm::hexfmt< UnsignedT, DefaultFlags > Class Template Reference 218

12.39.4.2 template<typename UnsignedT, dword DefaultFlags> dword stm::hexfmt< UnsignedT,DefaultFlags >::flags () const [inline]

Return the flags in effect.

Definition at line 3102 of file divxaids.hpp.

References stm::local::xhexfmt< UnsignedT >::flags_.

12.39.4.3 template<typename UnsignedT, dword DefaultFlags> dword stm::hexfmt< UnsignedT,DefaultFlags >::flags (dword newFlags) [inline]

Specify a new flags and return the previous ones.

Definition at line 3109 of file divxaids.hpp.

References stm::local::xhexfmt< UnsignedT >::flags_.

12.39.4.4 template<typename UnsignedT, dword DefaultFlags> bool stm::hexfmt< UnsignedT,DefaultFlags >::noprefix () const [inline]

Return the noprefix flag in effect.

Definition at line 3118 of file divxaids.hpp.

References stm::local::xhexfmt< UnsignedT >::flags_, and stm::fmtflags::NoPrefix.

12.39.4.5 template<typename UnsignedT, dword DefaultFlags> bool stm::hexfmt< UnsignedT,DefaultFlags >::noprefix (bool nopr) [inline]

Specify a new noprefix flag and return the previous one.

Definition at line 3125 of file divxaids.hpp.

References stm::local::xhexfmt< UnsignedT >::flags_, and stm::fmtflags::NoPrefix.

12.39.4.6 template<typename UnsignedT, dword DefaultFlags> template<class StringT>stm::hexfmt< UnsignedT, DefaultFlags >::operator StringT () const [inline]

Convert the value held by this object to the hexadecimal StringT representation according to the flags ineffect.

Definition at line 3142 of file divxaids.hpp.

References os.

12.39.4.7 template<typename UnsignedT, dword DefaultFlags> template<class StringT, classIteratorT> StringT stm::hexfmt< UnsignedT, DefaultFlags >::dump (IteratorT first, IteratorT last)[inline, static]

Return a string containing the hex dump of the value_type range [∗first, ∗last) without prefix "0x".

Definition at line 3157 of file divxaids.hpp.

References os.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 220: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.40 stm::hexfmt< ElemT ∗, DefaultFlags > Class Template Reference 219

12.39.5 Member Data Documentation

12.39.5.1 template<typename UnsignedT, dword DefaultFlags = fmtflags::NoFlags> const dwordstm::hexfmt< UnsignedT, DefaultFlags >::defaultFlags = DefaultFlags [static]

Default flags.

Definition at line 1202 of file divaids.hpp.

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

• divaids.hpp• divxaids.hpp

12.40 stm::hexfmt< ElemT ∗, DefaultFlags > Class Template Reference

#include <divaids.hpp>

Inheritance diagram for stm::hexfmt< ElemT ∗, DefaultFlags >:

stm::hexfmt< ElemT *, DefaultFlags >

stm::fmtflags stm::local::xhexfmt< ElemT * >

stm::local::xhexfmt< UnsignedT >

< ElemT * >

Collaboration diagram for stm::hexfmt< ElemT ∗, DefaultFlags >:

stm::hexfmt< ElemT *, DefaultFlags >

stm::fmtflags stm::local::xhexfmt< ElemT * >

stm::local::xhexfmt< UnsignedT >

< ElemT * >

UnsignedT

val_

12.40.1 Detailed Description

template<typename ElemT, dword DefaultFlags> class stm::hexfmt< ElemT ∗, DefaultFlags >

Class template partial specialization allowing to format the pointer held as hexadecimal string.

Definition at line 1252 of file divaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 221: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.40 stm::hexfmt< ElemT ∗, DefaultFlags > Class Template Reference 220

Public Types

• typedef ElemT value_typeType of the value held by this object.

Public Member Functions

• hexfmt (value_type ∗ptr=NULL, dword flags=defaultFlags)Construct an object holding the pointer ptr to be formatted with a prefix "0x" unless flag NoPrefix is set (de-fault is defaultFlags & NoPrefix) with upper case hexadecimal digits unless flag LowerCase is set (defaultis defaultFlags & LowerCase).

• hexfmt (value_type ∗ptr, bool noprefix)Construct an object holding the pointer ptr to be formatted with a prefix "0x" unless noprefix is true.

• operator ElemT ∗ () constConvert to the pointer held by this object.

• dword flags () constReturn the flags in effect.

• dword flags (dword newFlags)Specify a new flags and return the previous ones.

• bool noprefix () constReturn the noprefix flag in effect.

• bool noprefix (bool nopr)Specify a new noprefix flag and return the previous one.

• template<class StringT>

operator StringT () constConvert the pointer held by this object to the hexadecimal StringT representation according to the flags ineffect.

Static Public Attributes

• static const dword defaultFlags = DefaultFlagsDefault flags.

Private Types

• typedef local::xhexfmt< ElemT ∗ > implImplementation.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 222: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.40 stm::hexfmt< ElemT ∗, DefaultFlags > Class Template Reference 221

12.40.2 Member Typedef Documentation

12.40.2.1 template<typename ElemT, dword DefaultFlags> typedef local::xhexfmt<ElemT ∗>stm::hexfmt< ElemT ∗, DefaultFlags >::impl [private]

Implementation.

Definition at line 1257 of file divaids.hpp.

12.40.2.2 template<typename ElemT, dword DefaultFlags> typedef ElemT stm::hexfmt< ElemT∗, DefaultFlags >::value_type

Type of the value held by this object.

Definition at line 1264 of file divaids.hpp.

12.40.3 Constructor & Destructor Documentation

12.40.3.1 template<typename ElemT, dword DefaultFlags> stm::hexfmt< ElemT ∗, DefaultFlags>::hexfmt (value_type ∗ ptr = NULL, dword flags = defaultFlags) [inline]

Construct an object holding the pointer ptr to be formatted with a prefix "0x" unless flag NoPrefix isset (default is defaultFlags & NoPrefix) with upper case hexadecimal digits unless flag LowerCase is set(default is defaultFlags & LowerCase).

Definition at line 3205 of file divxaids.hpp.

12.40.3.2 template<typename ElemT, dword DefaultFlags> stm::hexfmt< ElemT ∗, DefaultFlags>::hexfmt (value_type ∗ ptr, bool noprefix) [inline]

Construct an object holding the pointer ptr to be formatted with a prefix "0x" unless noprefix is true.

Definition at line 3211 of file divxaids.hpp.

12.40.4 Member Function Documentation

12.40.4.1 template<typename ElemT, dword DefaultFlags> stm::hexfmt< ElemT ∗, DefaultFlags>::operator ElemT ∗ () const [inline]

Convert to the pointer held by this object.

Definition at line 3222 of file divxaids.hpp.

References stm::local::xhexfmt< UnsignedT >::val_.

12.40.4.2 template<typename ElemT, dword DefaultFlags> dword stm::hexfmt< ElemT ∗, De-faultFlags >::flags () const [inline]

Return the flags in effect.

Definition at line 3229 of file divxaids.hpp.

References stm::local::xhexfmt< UnsignedT >::flags_.

12.40.4.3 template<typename ElemT, dword DefaultFlags> dword stm::hexfmt< ElemT ∗, De-faultFlags >::flags (dword newFlags) [inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 223: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.41 stm::smartptr::local::increfcount< T, Compare, refcounted, multirange > Struct TemplateReference 222

Specify a new flags and return the previous ones.

Definition at line 3236 of file divxaids.hpp.

References stm::local::xhexfmt< UnsignedT >::flags_.

12.40.4.4 template<typename ElemT, dword DefaultFlags> bool stm::hexfmt< ElemT ∗, Default-Flags >::noprefix () const [inline]

Return the noprefix flag in effect.

Definition at line 3245 of file divxaids.hpp.

References stm::local::xhexfmt< UnsignedT >::flags_, and stm::fmtflags::NoPrefix.

12.40.4.5 template<typename ElemT, dword DefaultFlags> bool stm::hexfmt< ElemT ∗, Default-Flags >::noprefix (bool nopr) [inline]

Specify a new noprefix flag and return the previous one.

Definition at line 3252 of file divxaids.hpp.

References stm::local::xhexfmt< UnsignedT >::flags_, and stm::fmtflags::NoPrefix.

12.40.4.6 template<typename ElemT, dword DefaultFlags> template<class StringT>stm::hexfmt< ElemT ∗, DefaultFlags >::operator StringT () const [inline]

Convert the pointer held by this object to the hexadecimal StringT representation according to the flags ineffect.

Definition at line 3269 of file divxaids.hpp.

References os.

12.40.5 Member Data Documentation

12.40.5.1 template<typename ElemT, dword DefaultFlags> const dword stm::hexfmt< ElemT ∗,DefaultFlags >::defaultFlags = DefaultFlags [static]

Default flags.

Definition at line 1261 of file divaids.hpp.

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

• divaids.hpp• divxaids.hpp

12.41 stm::smartptr::local::increfcount< T, Compare, refcounted, multirange >Struct Template Reference

#include <smartptrxaids.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 224: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.42 stm::smartptr::injective< T, Compare, Allocator, Policy > Class Template Reference 223

12.41.1 Detailed Description

template<class T, class Compare, bool refcounted, bool multirange> structstm::smartptr::local::increfcount< T, Compare, refcounted, multirange >

Definition at line 465 of file smartptrxaids.hpp.

Public Member Functions

• void operator() (item_descr< T, Compare, refcounted, multirange > &descr)

12.41.2 Member Function Documentation

12.41.2.1 template<class T, class Compare, bool refcounted, bool multirange> voidstm::smartptr::local::increfcount< T, Compare, refcounted, multirange >::operator() (item_-descr< T, Compare, refcounted, multirange > & descr) [inline]

Definition at line 468 of file smartptrxaids.hpp.

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

• smartptrxaids.hpp

12.42 stm::smartptr::injective< T, Compare, Allocator, Policy > Class TemplateReference

#include <smartptraids.hpp>

12.42.1 Detailed Description

template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>, class Policy= stm::smartptr::policy<>> class stm::smartptr::injective< T, Compare, Allocator, Policy >

The traits class template injective combines the class template injective_ptr and its associated class templateinjective_set having either the surjective or the not surjective policy property.

Definition at line 696 of file smartptraids.hpp.

Public Types

• typedef injective_ptr< T, Compare, Allocator, Policy > ptrinjective_ptr type conforming to Policy.

• typedef injective_set< T, Compare, Allocator, MakeMultirange< Policy > > setinjective_set type conforming to Policy.

• typedef Policy::surjective surjectiveSurjective policy type conforming to that of Policy.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 225: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.43 stm::smartptr::injective_ptr< T, Compare, Allocator, Policy > Class Template Reference224

12.42.2 Member Typedef Documentation

12.42.2.1 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<>> typedef injective_ptr<T, Compare, Allocator, Policy>stm::smartptr::injective< T, Compare, Allocator, Policy >::ptr

injective_ptr type conforming to Policy.

Definition at line 700 of file smartptraids.hpp.

12.42.2.2 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<>> typedef injective_set<T, Compare, Allocator,MakeMultirange<Policy> > stm::smartptr::injective< T, Compare, Allocator, Policy >::set

injective_set type conforming to Policy.

Definition at line 703 of file smartptraids.hpp.

12.42.2.3 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<>> typedef Policy::surjective stm::smartptr::injective< T,Compare, Allocator, Policy >::surjective

Surjective policy type conforming to that of Policy.

Definition at line 706 of file smartptraids.hpp.

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

• smartptraids.hpp

12.43 stm::smartptr::injective_ptr< T, Compare, Allocator, Policy > Class Tem-plate Reference

#include <smartptraids.hpp>

Inheritance diagram for stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >:

stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >

stm::smartptr::injective_set< T, Compare, Allocator, stm::smartptr::MakeMultirange< Policy > >::accessor

stm::smartptr::injective_ptr< T, Compare, Allocator, stm::smartptr::MakeMultirange< Policy > >< T, Compare, Allocator, stm::smartptr::MakeMultirange< Policy > >

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Policy::multirange::value >stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >< T, Compare, Allocator, Policy::surjective::value, Policy::multirange::value >

Collaboration diagram for stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >:

stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Policy::multirange::value >T

ptr_

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >

ptr_ < T, Compare, Allocator, Policy::surjective::value, Policy::multirange::value >

12.43.1 Detailed Description

template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>, class Policy= stm::smartptr::policy<>> class stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >

The class template injective_ptr is a smart pointer pointing to unique constant objects of element type Tstored using a static repository.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 226: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.43 stm::smartptr::injective_ptr< T, Compare, Allocator, Policy > Class Template Reference225

The template parameter Compare shall define a strict weak ordering as described in (25.3). Then theuniqueness of objects in the repository means, that for each equivalence class of the equivalence rela-tion defined by that strict weak ordering at most one representant is stored by the repository. Hence twoinjective_ptr<T, Compare, Allocator, Policy> instances pointing to equivalent objects are equal.

In contrast to other smart pointer designs the element type T is supplied to the injective_ptr<T, Compare,Allocator, Policy> constructors by value and not by a pointer to a user allocated value. The allocation isdone by the implementation using the template argument Allocator and the template argument Compare toensure that equivalent values are allocated only once. The value access requires one dereference operationbut due to the constness of the objects stored in the repository, it is not possible to change the value of theelement an injective_ptr points to.

If T supports boost::serialization, specializations of the class template injective_ptr<T, Compare, Allocator,Policy> supports it as well inclusive object T tracking. To define a typedef or to define a default initializedvariable of injective_ptr<T, Compare, Allocator, Policy> type the element type T needs not be complete.

An injective_ptr<T, Compare, Allocator, Policy> object either points to an object of value type T in whichcase it is called dereferenceable, or not in which case it is called empty. The repository element associatedwith a dereferenceable injective_ptr<T, Compare, Allocator, Policy> instance is called the accessor of theelement pointed to by the injective_ptr.

If the policy property multirange is false, the repository is not further structured and all accessors form onedefault range which is predefined in all cases.

Else each specialization of injective_ptr<T, Compare, Allocator, Policy> provides a maximum ofstd::numeric_limits<stm::dword>::max() different ranges each containing its own accessors. Also in thiscase the value access requires only one dereference operation wheras the management overhead in mem-ory space and execution time during construction and destruction of injective_ptr<T, Compare, Allocator,Policy> objects is slightly greater than in the non-multirange case. Such a repository range is character-ized by a value of rangeid_type returned by the methods make_range() and rangeid() may be stored andsupplied as injective_ptr constructor argument. If none is specified, the predefined default range is used.

Because for any two injective_ptr<T, Compare, Allocator, Policy> instances ptr1 and ptr2, an equivalenceof ∗ptr1 and ∗ptr2 under the equivalence relation induced by Compare implies that the accessor of thisequivalent value is stored only once per range, the mathematical mapping

injective_ptr<T, Compare, Allocator, Policy> --> range

is injective, hence the name injective_ptr. If the policy property surjective is true, that mapping is also sur-jective, hence bijective. This means that then accessors of elements no more associated with any injective_-ptr<T, Compare, Allocator, true> instance are deleted and that elements no more accessed by any accessorare deallocated.

In all cases, it is guaranteed that equivalent objects of element type T are allocated only once even if theybelong to different ranges.

Definition at line 254 of file smartptraids.hpp.

Public Types

• typedef T element_typeProvides the type of the template parameter T.

• typedef mapped_ptr_impl::rangeid_type rangeid_typeRange ID type used as handle for the different repository ranges.

• typedef Compare compare_type

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 227: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.43 stm::smartptr::injective_ptr< T, Compare, Allocator, Policy > Class Template Reference226

Provides the type of the template parameter Compare.

• typedef Allocator allocator_typeProvides the type of the template parameter Allocate.

• typedef Policy policy_typeProvides the type of the template parameter Policy.

• typedef long refcount_typeThe type used for reference counts is long to be compatible with boost::shared_ptr.

• typedef repository::range_type range_typeThe iterator range type range_type is a specialization of the class template boost::iterator_range and pro-vides constant iterators with element_type as value type.

Public Member Functions

• injective_ptr ()Constructs an empty injective_ptr object for the default range.

• injective_ptr (rangeid_type rangeid)Constructs an empty injective_ptr object for the range of rangeid, which shall be rangeid_type() for thedefault range or be the result of a call of rangeid() or define_range().

• injective_ptr (const typename range_type::iterator &it)Constructs an injective_ptr object for the range of it pointing to the same value as it, if it is dereferenceable,else throws std::runtime_error.

• injective_ptr (const element_type &value, bool store=true)Constructs an injective_ptr object for the default range pointing to the unique object stored being equivalentto value under the equivalence relation induced by Compare.

• injective_ptr (const element_type &value, rangeid_type rangeid, bool store=true)Constructs an injective_ptr object for the range of rangeid pointing to the unique object stored being equiv-alent to value under the equivalence relation induced by Compare, where rangeid shall be rangeid_type()for the default range or be the result of a call of rangeid() or define_range().

• injective_ptr (const injective_ptr &other)Copy constructor.

• injective_ptr & operator= (const injective_ptr &other)Assigns the other injective_ptr to this injective_ptr and returns it.

• injective_ptr & assign (const element_type &value)Causes this injective_ptr to point to the unique object stored being equivalent to value under the equivalencerelation induced by Compare retaining its range and returns this injective_ptr.

• void reset ()Assigns the empty injective_ptr to this injective_ptr retaining its range.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 228: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.43 stm::smartptr::injective_ptr< T, Compare, Allocator, Policy > Class Template Reference227

• void reset (const element_type &value)Causes this injective_ptr to point to the unique object stored being equivalent to value under the equivalencerelation induced by Compare retaining its range.

• void swap (injective_ptr &other)Exchanges the contents of this injective_ptr with that of the other.

• operator bool () constReturns true, if this injective_ptr is not empty, else false.

• const element_type & operator ∗ () constReturns a constant reference to the element pointed to by this injective_ptr, if it is not be empty, else throwsstd::runtime_error.

• const element_type ∗ operator→ () constReturns a constant pointer to the element pointed to by this injective_ptr, if it is not be empty, else throwsstd::runtime_error.

• const element_type ∗ get () constReturns a constant pointer to the element pointed to by this injective_ptr, if it is not empty, else the nullpointer.

• bool unique () constReturns true, if injective_ptr is surjective, this injective_ptr is dereferenceable and is the only one pointingto its element_type object, else false.

• refcount_type use_count () constReturns -1, if this incective_ptr is empty, else for a surjective injective_ptr the number of injective_ptrobjects, including this one, whose element value pointed to is equal to this one’s, else 0.

• const range_type & range () constReturns a constant reference to the range of this injective_ptr.

• rangeid_type rangeid () constReturns the rangeid of the range of this injective_ptr.

Static Public Member Functions

• static bool is_surjective ()Returns the value of the policy property surjective.

• static bool is_multirange ()Returns the value of the policy property multirange.

• static rangeid_type define_range ()Defines a new range and returns its range ID.

• static void undefine_range (rangeid_type rangeid)Undefines the range of rangeid, if rangeid is not rangeid_type() which characterizes the default range andif the range is defined, else throws std::runtime_error.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 229: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.43 stm::smartptr::injective_ptr< T, Compare, Allocator, Policy > Class Template Reference228

• static bool range_empty (rangeid_type rangeid)Returns true, if the range of rangeid is empty, else false.

• static bool range_defined (rangeid_type rangeid)Returns true, if the range of rangeid is defined, else false.

• static bool range_available (rangeid_type rangeid)Returns true, if the rangeid is available for definition, else false.

Private Types

• typedef local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Pol-icy::multirange::value > mapped_ptr_impl

Implementation.

• typedef mapped_ptr_impl::repository repositoryImplementation.

Friends

• class boost::serialization::accessGrant implementation access to boost::serialization.

12.43.2 Member Typedef Documentation

12.43.2.1 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<>> typedef local::mapped_ptr< T, Compare, Allocator, Pol-icy::surjective::value, Policy::multirange::value > stm::smartptr::injective_ptr< T, Compare, Allo-cator, Policy >::mapped_ptr_impl [private]

Implementation.

Reimplemented from stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value,Policy::multirange::value >.

Definition at line 273 of file smartptraids.hpp.

12.43.2.2 template<class T, class Compare = std::less<T>, class Allocator =std::allocator<T>, class Policy = stm::smartptr::policy<>> typedef mapped_ptr_impl::repositorystm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::repository [private]

Implementation.

Reimplemented from stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value,Policy::multirange::value >.

Definition at line 276 of file smartptraids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 230: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.43 stm::smartptr::injective_ptr< T, Compare, Allocator, Policy > Class Template Reference229

12.43.2.3 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<>> typedef T stm::smartptr::injective_ptr< T, Compare, Al-locator, Policy >::element_type

Provides the type of the template parameter T.

Definition at line 283 of file smartptraids.hpp.

12.43.2.4 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<>> typedef mapped_ptr_impl::rangeid_typestm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::rangeid_type

Range ID type used as handle for the different repository ranges.

Its default constructor yields the handle of the predefined default range.

Definition at line 287 of file smartptraids.hpp.

12.43.2.5 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<>> typedef Compare stm::smartptr::injective_ptr< T, Com-pare, Allocator, Policy >::compare_type

Provides the type of the template parameter Compare.

Definition at line 290 of file smartptraids.hpp.

12.43.2.6 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<>> typedef Allocator stm::smartptr::injective_ptr< T, Com-pare, Allocator, Policy >::allocator_type

Provides the type of the template parameter Allocate.

Definition at line 293 of file smartptraids.hpp.

12.43.2.7 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<>> typedef Policy stm::smartptr::injective_ptr< T, Compare,Allocator, Policy >::policy_type

Provides the type of the template parameter Policy.

Definition at line 296 of file smartptraids.hpp.

12.43.2.8 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<>> typedef long stm::smartptr::injective_ptr< T, Compare,Allocator, Policy >::refcount_type

The type used for reference counts is long to be compatible with boost::shared_ptr.

Definition at line 300 of file smartptraids.hpp.

12.43.2.9 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<>> typedef repository::range_type stm::smartptr::injective_-ptr< T, Compare, Allocator, Policy >::range_type

The iterator range type range_type is a specialization of the class template boost::iterator_range and pro-vides constant iterators with element_type as value type.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 231: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.43 stm::smartptr::injective_ptr< T, Compare, Allocator, Policy > Class Template Reference230

It represents an injective_ptr object’s range. Although instances of range_type cannot be constructed withits public interface, they can be obtained by the method range() of injective_ptr.

Definition at line 308 of file smartptraids.hpp.

12.43.3 Constructor & Destructor Documentation

12.43.3.1 template<class T, class Compare, class Allocator, class Policy>stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::injective_ptr () [inline]

Constructs an empty injective_ptr object for the default range.

Never throws.

Definition at line 1995 of file smartptrxaids.hpp.

12.43.3.2 template<class T, class Compare, class Allocator, class Policy>stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::injective_ptr (rangeid_typerangeid) [inline]

Constructs an empty injective_ptr object for the range of rangeid, which shall be rangeid_type() for thedefault range or be the result of a call of rangeid() or define_range().

Throws std::runtime_error, if the range of rangeid is not defined.

Definition at line 2002 of file smartptrxaids.hpp.

12.43.3.3 template<class T, class Compare, class Allocator, class Policy>stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::injective_ptr (const typenamerange_type::iterator & it) [inline]

Constructs an injective_ptr object for the range of it pointing to the same value as it, if it is dereferenceable,else throws std::runtime_error.

Definition at line 2011 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value,Policy::multirange::value >::id(), stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Pol-icy::surjective::value, Policy::multirange::value >::repository_, and stm::smartptr::injective_ptr< T,Compare, Allocator, Policy >::swap().

12.43.3.4 template<class T, class Compare, class Allocator, class Policy>stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::injective_ptr (const element_-type & value, bool store = true) [inline]

Constructs an injective_ptr object for the default range pointing to the unique object stored being equivalentto value under the equivalence relation induced by Compare.

If store is false and such an object was not yet contained in the default range, its empty injective_ptr isconstructed.

Definition at line 2032 of file smartptrxaids.hpp.

12.43.3.5 template<class T, class Compare, class Allocator, class Policy>stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::injective_ptr (const element_-type & value, rangeid_type rangeid, bool store = true) [inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 232: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.43 stm::smartptr::injective_ptr< T, Compare, Allocator, Policy > Class Template Reference231

Constructs an injective_ptr object for the range of rangeid pointing to the unique object stored being equiv-alent to value under the equivalence relation induced by Compare, where rangeid shall be rangeid_type()for the default range or be the result of a call of rangeid() or define_range().

If store is false and such an object was not yet contained in the range of rangeid, its empty injective_ptr isconstructed. Throws std::runtime_error, if the range of rangeid is not defined.

Definition at line 2042 of file smartptrxaids.hpp.

12.43.3.6 template<class T, class Compare, class Allocator, class Policy>stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::injective_ptr (const injective_-ptr< T, Compare, Allocator, Policy > & other) [inline]

Copy constructor.

Definition at line 2053 of file smartptrxaids.hpp.

12.43.4 Member Function Documentation

12.43.4.1 template<class T, class Compare, class Allocator, class Policy> injective_ptr< T,Compare, Allocator, Policy > & stm::smartptr::injective_ptr< T, Compare, Allocator, Policy>::operator= (const injective_ptr< T, Compare, Allocator, Policy > & other) [inline]

Assigns the other injective_ptr to this injective_ptr and returns it.

Definition at line 2064 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value,Policy::multirange::value >::id(), stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Pol-icy::surjective::value, Policy::multirange::value >::ptr_, and stm::smartptr::injective_ptr< T, Compare,Allocator, Policy >::swap().

Referenced by stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessor::operator=().

12.43.4.2 template<class T, class Compare, class Allocator, class Policy> injective_ptr< T, Com-pare, Allocator, Policy > & stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::assign(const element_type & value) [inline]

Causes this injective_ptr to point to the unique object stored being equivalent to value under the equivalencerelation induced by Compare retaining its range and returns this injective_ptr.

Definition at line 2083 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Pol-icy::multirange::value >::id(), and stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::swap().

Referenced by stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::reset().

12.43.4.3 template<class T, class Compare, class Allocator, class Policy> voidstm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::reset () [inline]

Assigns the empty injective_ptr to this injective_ptr retaining its range.

Never throws.

Definition at line 2097 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Pol-icy::multirange::value >::id(), and stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::swap().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 233: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.43 stm::smartptr::injective_ptr< T, Compare, Allocator, Policy > Class Template Reference232

12.43.4.4 template<class T, class Compare, class Allocator, class Policy> voidstm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::reset (const element_type &value) [inline]

Causes this injective_ptr to point to the unique object stored being equivalent to value under the equivalencerelation induced by Compare retaining its range.

Definition at line 2112 of file smartptrxaids.hpp.

References stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::assign().

12.43.4.5 template<class T, class Compare, class Allocator, class Policy> voidstm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::swap (injective_ptr< T, Com-pare, Allocator, Policy > & other) [inline]

Exchanges the contents of this injective_ptr with that of the other.

Never throws.

Definition at line 2124 of file smartptrxaids.hpp.

References stm::smartptr::swap().

Referenced by stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::assign(),stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::injective_ptr(), stm::smartptr::injective_-ptr< T, Compare, Allocator, Policy >::operator=(), and stm::smartptr::injective_ptr< T, Compare,Allocator, Policy >::reset().

12.43.4.6 template<class T, class Compare, class Allocator, class Policy>stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::operator bool () const [inline]

Returns true, if this injective_ptr is not empty, else false.

Never throws.

Definition at line 2135 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Pol-icy::multirange::value >::ptr_.

12.43.4.7 template<class T, class Compare, class Allocator, class Policy> const injective_ptr< T,Compare, Allocator, Policy >::element_type & stm::smartptr::injective_ptr< T, Compare, Alloca-tor, Policy >::operator ∗ () const [inline]

Returns a constant reference to the element pointed to by this injective_ptr, if it is not be empty, else throwsstd::runtime_error.

Definition at line 2150 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value,Policy::multirange::value >::id(), stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Pol-icy::surjective::value, Policy::multirange::value >::ptr_, and stm::smartptr::local::mapped_ptr< T,Compare, Allocator, Policy::surjective::value, Policy::multirange::value >::repository_.

12.43.4.8 template<class T, class Compare, class Allocator, class Policy> const injective_ptr< T,Compare, Allocator, Policy >::element_type ∗ stm::smartptr::injective_ptr< T, Compare, Allocator,Policy >::operator→ () const [inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 234: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.43 stm::smartptr::injective_ptr< T, Compare, Allocator, Policy > Class Template Reference233

Returns a constant pointer to the element pointed to by this injective_ptr, if it is not be empty, else throwsstd::runtime_error.

Definition at line 2174 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value,Policy::multirange::value >::id(), stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Pol-icy::surjective::value, Policy::multirange::value >::ptr_, and stm::smartptr::local::mapped_ptr< T,Compare, Allocator, Policy::surjective::value, Policy::multirange::value >::repository_.

12.43.4.9 template<class T, class Compare, class Allocator, class Policy> const injective_ptr< T,Compare, Allocator, Policy >::element_type ∗ stm::smartptr::injective_ptr< T, Compare, Allocator,Policy >::get () const [inline]

Returns a constant pointer to the element pointed to by this injective_ptr, if it is not empty, else the nullpointer.

Never throws.

Definition at line 2198 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Pol-icy::multirange::value >::ptr_.

Referenced by stm::smartptr::get_pointer(), and stm::smartptr::operator<<().

12.43.4.10 template<class T, class Compare, class Allocator, class Policy> boolstm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::is_surjective () [inline,static]

Returns the value of the policy property surjective.

Never throws.

Definition at line 2206 of file smartptrxaids.hpp.

12.43.4.11 template<class T, class Compare, class Allocator, class Policy> boolstm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::is_multirange () [inline,static]

Returns the value of the policy property multirange.

Never throws.

Definition at line 2214 of file smartptrxaids.hpp.

12.43.4.12 template<class T, class Compare, class Allocator, class Policy> boolstm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::unique () const [inline]

Returns true, if injective_ptr is surjective, this injective_ptr is dereferenceable and is the only one pointingto its element_type object, else false.

Never throws.

Definition at line 2222 of file smartptrxaids.hpp.

References stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::use_count().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 235: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.43 stm::smartptr::injective_ptr< T, Compare, Allocator, Policy > Class Template Reference234

12.43.4.13 template<class T, class Compare, class Allocator, class Policy> injective_ptr< T, Com-pare, Allocator, Policy >::refcount_type stm::smartptr::injective_ptr< T, Compare, Allocator, Pol-icy >::use_count () const [inline]

Returns -1, if this incective_ptr is empty, else for a surjective injective_ptr the number of injective_ptrobjects, including this one, whose element value pointed to is equal to this one’s, else 0.

Definition at line 2238 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Pol-icy::multirange::value >::getrefcount().

Referenced by stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::unique().

12.43.4.14 template<class T, class Compare, class Allocator, class Policy> const injective_ptr< T,Compare, Allocator, Policy >::range_type & stm::smartptr::injective_ptr< T, Compare, Allocator,Policy >::range () const [inline]

Returns a constant reference to the range of this injective_ptr.

Never throws.

Definition at line 2253 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Pol-icy::multirange::value >::id(), and stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Pol-icy::surjective::value, Policy::multirange::value >::repository_.

12.43.4.15 template<class T, class Compare, class Allocator, class Policy> injective_ptr< T, Com-pare, Allocator, Policy >::rangeid_type stm::smartptr::injective_ptr< T, Compare, Allocator, Policy>::rangeid () const [inline]

Returns the rangeid of the range of this injective_ptr.

Never throws.

Definition at line 2268 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Pol-icy::multirange::value >::id().

Referenced by stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessor::operator=().

12.43.4.16 template<class T, class Compare, class Allocator, class Policy> injective_ptr< T, Com-pare, Allocator, Policy >::rangeid_type stm::smartptr::injective_ptr< T, Compare, Allocator, Policy>::define_range () [inline, static]

Defines a new range and returns its range ID.

Throws std::runtime_error, if the policy property multiranged is false or if the capacity of ranges is ex-hausted.

Definition at line 2283 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Pol-icy::multirange::value >::init(), and stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Pol-icy::surjective::value, Policy::multirange::value >::repository_.

12.43.4.17 template<class T, class Compare, class Allocator, class Policy> voidstm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::undefine_range (rangeid_type

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 236: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.43 stm::smartptr::injective_ptr< T, Compare, Allocator, Policy > Class Template Reference235

rangeid) [inline, static]

Undefines the range of rangeid, if rangeid is not rangeid_type() which characterizes the default range andif the range is defined, else throws std::runtime_error.

If the range was empty, it is marked as available for a new definition, else not. In that case all injective_ptrobjects in the range of rangeid are invalidated.

Definition at line 2293 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Pol-icy::multirange::value >::init(), and stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Pol-icy::surjective::value, Policy::multirange::value >::repository_.

Referenced by stm::smartptr::injective_set< T, Compare, Allocator, Policy >::∼injective_set().

12.43.4.18 template<class T, class Compare, class Allocator, class Policy> boolstm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::range_empty (rangeid_typerangeid) [inline, static]

Returns true, if the range of rangeid is empty, else false.

Throws std::runtime_error, if the range of rangeid is not defined.

Definition at line 2306 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Pol-icy::multirange::value >::init(), and stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Pol-icy::surjective::value, Policy::multirange::value >::repository_.

12.43.4.19 template<class T, class Compare, class Allocator, class Policy> boolstm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::range_defined (rangeid_typerangeid) [inline, static]

Returns true, if the range of rangeid is defined, else false.

Definition at line 2319 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Pol-icy::multirange::value >::init(), and stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Pol-icy::surjective::value, Policy::multirange::value >::repository_.

12.43.4.20 template<class T, class Compare, class Allocator, class Policy> boolstm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::range_available (rangeid_typerangeid) [inline, static]

Returns true, if the rangeid is available for definition, else false.

Definition at line 2332 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Pol-icy::multirange::value >::init(), and stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Pol-icy::surjective::value, Policy::multirange::value >::repository_.

12.43.5 Friends And Related Function Documentation

12.43.5.1 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<>> friend class boost::serialization::access [friend]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 237: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.44 stm::smartptr::injective_set< T, Compare, Allocator, Policy > Class Template Reference236

Grant implementation access to boost::serialization.

Reimplemented from stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value,Policy::multirange::value >.

Definition at line 279 of file smartptraids.hpp.

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

• smartptraids.hpp• smartptrxaids.hpp

12.44 stm::smartptr::injective_set< T, Compare, Allocator, Policy > Class Tem-plate Reference

#include <smartptraids.hpp>

12.44.1 Detailed Description

template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>, class Policy =stm::smartptr::policy<stm::smartptr::Multirange>> class stm::smartptr::injective_set< T, Com-pare, Allocator, Policy >

The class template injective_set is a container of unique constant objects of value type T stored wrappinga specific range of the static repository of an injective_ptr<T, Compare, Allocator, Policy> object.

That is why the container elements are accessable on the one hand by iterators of the injective_ptr<T, Com-pare, Allocator, MakeMultirange<Policy> >range_type instance representing that repository range and onthe other hand through injective_ptr<T, Compare, Allocator, MakeMultirange<Policy> > based accessorobjects. The template parameter Compare shall define a strict weak ordering as described in (25.3). Thenthe uniqueness of objects means, that for each equivalence class of the equivalence relation defined by thatstrict weak ordering at most one representant is stored. Hence two accessor objects representing equivalentobjects are equal.

Moreover, injective_set objects are only default constructible and are neither copyable nor are they boostserializable. To define a typedef or to define a variable of injective_set<T, Compare, Allocator, Policy>type the value type T needs not be complete.

A default constructed injective_set<T, Compare, Allocator, Policy> object is initially empty and an objectof value type T can be inserted as element only by the injective_set insert methods which return an accessorobject representing it. If the policy property surjective is false, such an element stays contained till theinjective_set is destructed, else it is contained exactly as long as at least one accessor instance representingit exists.

Therefore, and because accessor objects are injective_ptr objects, two accessor instances are different if andonly if they represent elements being non-equivalent under the equivalence relation induced by Compare,and the mathematical map

Accessors --> container

between the set Accessors of accessor instances representing different elements of a injective_set<T, Com-pare, Allocator, Policy> instance container and that container is injective, hence the name injective_set.

If the policy property surjective is true, that mapping is also surjective, hence bijective, hence in thiscase elements no more represented by any injective_set<T, Compare, Allocator, true> accessor object aredeleted.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 238: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.44 stm::smartptr::injective_set< T, Compare, Allocator, Policy > Class Template Reference237

Definition at line 566 of file smartptraids.hpp.

Public Types

• typedef T value_typeProvides the type of the template parameter T.

• typedef Compare compare_typeProvides the type of the template parameter Compare.

• typedef Allocator allocator_typeProvides the type of the template parameter Allocate.

• typedef MakeMultirange< Policy > policy_typeProvides the effective type of the template Policy.

• typedef injective_ptr< T, Compare, Allocator, MakeMultirange< Policy > > injective_ptr_typeProvides the associated injective pointer type.

• typedef injective_ptr_type::range_type range_typeType of the repository range wrapped.

Public Member Functions

• injective_set ()Default constructor yielding an empty injective_set object.

• ∼injective_set ()Destructor.

• accessor nil () constReturns the empty accessor representing no element.

• accessor insert (const value_type &value)If no element equivalent to value under the equivalence relation induced by Compare is already contained,value is inserted as element of this injective_set.

• accessor insert (const value_type &value, bool &inserted)If no element equivalent to value under the equivalence relation induced by Compare is already contained,value is inserted as element of this injective_set and inserted is set to true, else to false.

• accessor find (const value_type &value) constReturns the empty accessor, if no element equivalent to value under the equivalence relation induced byCompare is contained in this injective_set, else an accessor representing the element found.

• const range_type & range () constReturns a constant reference to the repository range wrapped by this injective_set.

• range_type::iterator begin () const

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 239: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.44 stm::smartptr::injective_set< T, Compare, Allocator, Policy > Class Template Reference238

Returns the begin iterator of the repository range wrapped by this injective_set.

• range_type::iterator end () constReturns the end iterator of the repository range wrapped by this injective_set.

• range_type::size_type size () constReturns the number of element containd in this injective_set which is the same as that of the repositoryrange wrapped by this injective_set.

• bool empty () constReturns true, if this injective_set is empty, else false.

Private Attributes

• injective_ptr_type::rangeid_type rangeid_Implementation.

Classes

• class accessorSubclass of injective_ptr<T, Compare, Allocator, MakeMultirange<Policy> > representing an element ofthis injective_set object.

12.44.2 Member Typedef Documentation

12.44.2.1 template<class T, class Compare = std::less<T>, class Allocator =std::allocator<T>, class Policy = stm::smartptr::policy<stm::smartptr::Multirange>> type-def T stm::smartptr::injective_set< T, Compare, Allocator, Policy >::value_type

Provides the type of the template parameter T.

Definition at line 571 of file smartptraids.hpp.

12.44.2.2 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<stm::smartptr::Multirange>> typedef Comparestm::smartptr::injective_set< T, Compare, Allocator, Policy >::compare_type

Provides the type of the template parameter Compare.

Definition at line 574 of file smartptraids.hpp.

12.44.2.3 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<stm::smartptr::Multirange>> typedef Allocatorstm::smartptr::injective_set< T, Compare, Allocator, Policy >::allocator_type

Provides the type of the template parameter Allocate.

Definition at line 577 of file smartptraids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 240: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.44 stm::smartptr::injective_set< T, Compare, Allocator, Policy > Class Template Reference239

12.44.2.4 template<class T, class Compare = std::less<T>, class Allocator =std::allocator<T>, class Policy = stm::smartptr::policy<stm::smartptr::Multirange>> type-def MakeMultirange<Policy> stm::smartptr::injective_set< T, Compare, Allocator, Policy>::policy_type

Provides the effective type of the template Policy.

Definition at line 580 of file smartptraids.hpp.

12.44.2.5 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<stm::smartptr::Multirange>> typedef injective_ptr< T, Com-pare, Allocator, MakeMultirange<Policy> > stm::smartptr::injective_set< T, Compare, Allocator,Policy >::injective_ptr_type

Provides the associated injective pointer type.

Definition at line 589 of file smartptraids.hpp.

12.44.2.6 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<stm::smartptr::Multirange>> typedef injective_ptr_-type::range_type stm::smartptr::injective_set< T, Compare, Allocator, Policy >::range_type

Type of the repository range wrapped.

Its iterator member types can be used to iterate over the injective_set elements in the order defined by thestrict weak ordering defined by Compare.

Definition at line 594 of file smartptraids.hpp.

12.44.3 Constructor & Destructor Documentation

12.44.3.1 template<class T, class Compare, class Allocator, class Policy>stm::smartptr::injective_set< T, Compare, Allocator, Policy >::injective_set () [inline]

Default constructor yielding an empty injective_set object.

Definition at line 2471 of file smartptrxaids.hpp.

12.44.3.2 template<class T, class Compare, class Allocator, class Policy>stm::smartptr::injective_set< T, Compare, Allocator, Policy >::∼injective_set () [inline]

Destructor.

If a non-empty injective_set object is destroyed, all its accessors are invalidated.

Definition at line 2481 of file smartptrxaids.hpp.

References stm::smartptr::injective_set< T, Compare, Allocator, Policy >::rangeid_, andstm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::undefine_range().

12.44.4 Member Function Documentation

12.44.4.1 template<class T, class Compare, class Allocator, class Policy> injective_set< T, Com-pare, Allocator, Policy >::accessor stm::smartptr::injective_set< T, Compare, Allocator, Policy

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 241: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.44 stm::smartptr::injective_set< T, Compare, Allocator, Policy > Class Template Reference240

>::nil () const [inline]

Returns the empty accessor representing no element.

Definition at line 2501 of file smartptrxaids.hpp.

References stm::smartptr::injective_set< T, Compare, Allocator, Policy >::rangeid_.

12.44.4.2 template<class T, class Compare, class Allocator, class Policy> injective_set< T, Com-pare, Allocator, Policy >::accessor stm::smartptr::injective_set< T, Compare, Allocator, Policy>::insert (const value_type & value) [inline]

If no element equivalent to value under the equivalence relation induced by Compare is already contained,value is inserted as element of this injective_set.

In all cases the accessor representing the unique element of this injective_set equivalent to value is returned.

Definition at line 2510 of file smartptrxaids.hpp.

References stm::smartptr::injective_set< T, Compare, Allocator, Policy >::rangeid_.

Referenced by stm::smartptr::injective_set< T, Compare, Allocator, Policy >::insert().

12.44.4.3 template<class T, class Compare, class Allocator, class Policy> injective_set< T, Com-pare, Allocator, Policy >::accessor stm::smartptr::injective_set< T, Compare, Allocator, Policy>::insert (const value_type & value, bool & inserted) [inline]

If no element equivalent to value under the equivalence relation induced by Compare is already contained,value is inserted as element of this injective_set and inserted is set to true, else to false.

In all cases the accessor representing the unique element of this injective_set equivalent to value is returned.

Definition at line 2522 of file smartptrxaids.hpp.

References stm::smartptr::injective_set< T, Compare, Allocator, Policy >::find(),stm::smartptr::injective_set< T, Compare, Allocator, Policy >::insert(), stm::smartptr::injective_set< T,Compare, Allocator, Policy >::size(), and StmDebugAidsVerify.

12.44.4.4 template<class T, class Compare, class Allocator, class Policy> injective_set< T, Com-pare, Allocator, Policy >::accessor stm::smartptr::injective_set< T, Compare, Allocator, Policy>::find (const value_type & value) const [inline]

Returns the empty accessor, if no element equivalent to value under the equivalence relation induced byCompare is contained in this injective_set, else an accessor representing the element found.

Definition at line 2539 of file smartptrxaids.hpp.

References stm::smartptr::injective_set< T, Compare, Allocator, Policy >::rangeid_.

Referenced by stm::smartptr::injective_set< T, Compare, Allocator, Policy >::insert().

12.44.4.5 template<class T, class Compare, class Allocator, class Policy> const injective_set< T,Compare, Allocator, Policy >::range_type & stm::smartptr::injective_set< T, Compare, Allocator,Policy >::range () const [inline]

Returns a constant reference to the repository range wrapped by this injective_set.

Definition at line 2551 of file smartptrxaids.hpp.

References stm::smartptr::injective_set< T, Compare, Allocator, Policy >::rangeid_.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 242: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.44 stm::smartptr::injective_set< T, Compare, Allocator, Policy > Class Template Reference241

Referenced by stm::smartptr::injective_set< T, Compare, Allocator, Policy >::begin(),stm::smartptr::injective_set< T, Compare, Allocator, Policy >::empty(), stm::smartptr::injective_-set< T, Compare, Allocator, Policy >::end(), and stm::smartptr::injective_set< T, Compare, Allocator,Policy >::size().

12.44.4.6 template<class T, class Compare, class Allocator, class Policy> injective_set< T, Com-pare, Allocator, Policy >::range_type::iterator stm::smartptr::injective_set< T, Compare, Allocator,Policy >::begin () const [inline]

Returns the begin iterator of the repository range wrapped by this injective_set.

Definition at line 2560 of file smartptrxaids.hpp.

References stm::smartptr::injective_set< T, Compare, Allocator, Policy >::range().

12.44.4.7 template<class T, class Compare, class Allocator, class Policy> injective_set< T, Com-pare, Allocator, Policy >::range_type::iterator stm::smartptr::injective_set< T, Compare, Allocator,Policy >::end () const [inline]

Returns the end iterator of the repository range wrapped by this injective_set.

Definition at line 2569 of file smartptrxaids.hpp.

References stm::smartptr::injective_set< T, Compare, Allocator, Policy >::range().

12.44.4.8 template<class T, class Compare, class Allocator, class Policy> injective_set< T, Com-pare, Allocator, Policy >::range_type::size_type stm::smartptr::injective_set< T, Compare, Alloca-tor, Policy >::size () const [inline]

Returns the number of element containd in this injective_set which is the same as that of the repositoryrange wrapped by this injective_set.

Definition at line 2578 of file smartptrxaids.hpp.

References stm::smartptr::injective_set< T, Compare, Allocator, Policy >::range().

Referenced by stm::smartptr::injective_set< T, Compare, Allocator, Policy >::insert().

12.44.4.9 template<class T, class Compare, class Allocator, class Policy> boolstm::smartptr::injective_set< T, Compare, Allocator, Policy >::empty () const [inline]

Returns true, if this injective_set is empty, else false.

Definition at line 2586 of file smartptrxaids.hpp.

References stm::smartptr::injective_set< T, Compare, Allocator, Policy >::range().

12.44.5 Member Data Documentation

12.44.5.1 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<stm::smartptr::Multirange>> injective_ptr_type::rangeid_-type stm::smartptr::injective_set< T, Compare, Allocator, Policy >::rangeid_ [private]

Implementation.

Definition at line 681 of file smartptraids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 243: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.45 stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessor Class Reference242

Referenced by stm::smartptr::injective_set< T, Compare, Allocator, Policy >::find(),stm::smartptr::injective_set< T, Compare, Allocator, Policy >::insert(), stm::smartptr::injective_-set< T, Compare, Allocator, Policy >::nil(), stm::smartptr::injective_set< T, Compare, Allocator, Policy>::range(), and stm::smartptr::injective_set< T, Compare, Allocator, Policy >::∼injective_set().

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

• smartptraids.hpp• smartptrxaids.hpp

12.45 stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessorClass Reference

#include <smartptraids.hpp>

Inheritance diagram for stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessor:

stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessorinjective_ptr_typestm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Policy::multirange::value >stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >< T, Compare, Allocator, Policy::surjective::value, Policy::multirange::value >

Collaboration diagram for stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessor:

stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessorinjective_ptr_typestm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Policy::multirange::value >T

ptr_

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >

ptr_ < T, Compare, Allocator, Policy::surjective::value, Policy::multirange::value >

12.45.1 Detailed Description

template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>, class Policy =stm::smartptr::policy<stm::smartptr::Multirange>> class stm::smartptr::injective_set< T, Com-pare, Allocator, Policy >::accessor

Subclass of injective_ptr<T, Compare, Allocator, MakeMultirange<Policy> > representing an elementof this injective_set object.

Such an element stays contained in the injective_set during the whole lifetime of that injective_set, if thepolicy property surjective is false, else as long as at least one accessor object points to it. Non-emptyaccessor objects can be only acquired by the constructors, by the assignment operator or by means ofinjective_set methods.

Definition at line 603 of file smartptraids.hpp.

Public Types

• typedef injective_ptr_type baseBase class.

Public Member Functions

• accessor ()The default constructor yields the empty accessor representing no element.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 244: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.45 stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessor Class Reference243

• accessor (const accessor &other)Copy constructor.

• accessor (const base &ptr)Constructs an accessor for the element pointed to by ptr.

• accessor (const typename range_type::iterator &it)Constructs an accessor for the element pointed to by the injective_set iterator it.

• accessor & operator= (const accessor &other)Assignment operator.

12.45.2 Member Typedef Documentation

12.45.2.1 template<class T, class Compare = std::less<T>, class Allocator = std::allocator<T>,class Policy = stm::smartptr::policy<stm::smartptr::Multirange>> typedef injective_ptr_typestm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessor::base

Base class.

Definition at line 608 of file smartptraids.hpp.

12.45.3 Constructor & Destructor Documentation

12.45.3.1 template<class T, class Compare, class Allocator, class Policy>stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessor::accessor () [inline]

The default constructor yields the empty accessor representing no element.

Definition at line 2412 of file smartptrxaids.hpp.

12.45.3.2 template<class T, class Compare, class Allocator, class Policy>stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessor::accessor (const accessor& other) [inline]

Copy constructor.

Definition at line 2419 of file smartptrxaids.hpp.

12.45.3.3 template<class T, class Compare, class Allocator, class Policy>stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessor::accessor (const base& ptr) [inline]

Constructs an accessor for the element pointed to by ptr.

Definition at line 2428 of file smartptrxaids.hpp.

12.45.3.4 template<class T, class Compare, class Allocator, class Policy>stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessor::accessor (const type-name range_type::iterator & it) [inline]

Constructs an accessor for the element pointed to by the injective_set iterator it.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 245: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.46 stm::inputrange< FileRangeT, bufSize > Class Template Reference 244

Definition at line 2437 of file smartptrxaids.hpp.

12.45.4 Member Function Documentation

12.45.4.1 template<class T, class Compare, class Allocator, class Policy> injective_set< T, Com-pare, Allocator, Policy >::accessor & stm::smartptr::injective_set< T, Compare, Allocator, Policy>::accessor::operator= (const accessor & other) [inline]

Assignment operator.

Unless one of the accessors is empty, assignment is allowed only between accessors of the same injective_-set object.

Definition at line 2448 of file smartptrxaids.hpp.

References stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::operator=(),stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >::rangeid(), and StmDebugAidsVerify.

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

• smartptraids.hpp• smartptrxaids.hpp

12.46 stm::inputrange< FileRangeT, bufSize > Class Template Reference

#include <filesysaids.hpp>

Inheritance diagram for stm::inputrange< FileRangeT, bufSize >:

stm::inputrange< FileRangeT, bufSize >

stm::inputrange< std::set< InputFileT >, bufSize >

< std::set< InputFileT >, bufSize >

stm::local::xinputrange< FileRangeT, bufSize >

stm::inputseq< InputFileT, bufSize >

Collaboration diagram for stm::inputrange< FileRangeT, bufSize >:

stm::inputrange< FileRangeT, bufSize >

stm::local::xinputrange< FileRangeT, bufSize >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 246: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.46 stm::inputrange< FileRangeT, bufSize > Class Template Reference 245

12.46.1 Detailed Description

template<class FileRangeT = std::list<readablefile<pstring> >, size_t bufSize = 128 ∗ 1024> classstm::inputrange< FileRangeT, bufSize >

Class template representing a range of input files.

It provides an input buffer of bufSize bytes acting as sliding window over the concatenated in-put. This buffer consists of three parts, the processed range [buffer,bufPtr()), the unprocessed range[bufPtr(),bufEnd()) and the unassined range [bufEnd(),buffer+bufSize). The byte pointer bufPtr() addressesthe current position within the buffer corresponding to the byte with the offset offset() in the concatenationof all input files. The method file() designates the current input file, i.e that input file containing the byte atoffset offset() in the concatenation af all input files.

After construction the processed and unprocessed ranges have length 0. FileRangeT shall be a model ofForward Range and its value type shall represent a file accessible for reading, be convertable to std::stringthus representing the file’s name and have a method fileSize() yielding the file’s byte size.

Definition at line 661 of file filesysaids.hpp.

Public Types

• enum { BufSize = bufSize }Maximal Length of the input buffer.

• typedef FileRangeT filerange_typeType of input file range.

• typedef filerange_type::value_type inputfile_typeType of input files.

Public Member Functions

• inputrange (const filerange_type &inputFiles=filerange_type())Construct an inputrange object for the input file range inputFiles having a buffer with processed and unpro-cessed ranges of length 0.

• virtual ∼inputrange ()The destructor deletes the input buffer.

• void clear ()Clears this inputrange.

• void setInput (const filerange_type &inputFiles)Sets new input files for this inputrange.

• bool read () throw (std::runtime_error)Read bytes from the input files into the buffer.

• bool isEnd () constReturn true, if all input bytes have been read.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 247: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.46 stm::inputrange< FileRangeT, bufSize > Class Template Reference 246

• bool isError () constReturn true, if an error did occur.

• const inputfile_type & file () constReturn current input file.

• const inputfile_type & file (long long offs) constReturn the input file containing the byte at offset offs within the concatenation of all input files.

• ptrdiff_t fileOffset (long long offs) constReturn the file offset of the byte at offset offs within the concatenation of all input files in the file containingthat byte.

• long long offset () constReturn the byte offset within the concatenation of all input files corresponding to the current position withinthe input buffer.

• long long offset (const byte ∗ptr) constReturn the byte offset within the concatenation of all input files corresponding to the byte address ptr withinthe input buffer.

• long long totalSize () constReturn the total byte length of the concatenation of all input files.

• long long notReadSize () constReturn the not read byte length of the concatenation of all input files.

• void setBufStep (ptrdiff_t step)Set the number of bytes to increase the processed buffer range and the byte offset within the concatenationof all input files.

• void bufSetup ()Setup the input buffer by setting the begin of the unprocessed range of the buffer to its begin, thus emptyingthe processed range.

• const byte ∗ bufPtr () constReturn the start address of the unprocessed buffer range.

• const byte ∗ bufEnd () constReturn the past-the-end address of the unprocessed buffer range.

• bool bufExhausted () constReturn true, if the unprocessed buffer range is empty.

• bool bufFull () constReturn true, if the unprocessed buffer range occupies the whole buffer.

• void bufAdvance ()Decrease the unprocessed buffer range, increase the processed buffer range and the byte offset within theconcatenation of all input files as configured by setBufStep().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 248: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.46 stm::inputrange< FileRangeT, bufSize > Class Template Reference 247

• virtual void reportOpen () constCalled when a new input file is opened.

• virtual void reportClose () constCalled when the current input file is closed.

• virtual void reportError () constCalled when a read error for the current input file occurs.

Private Types

• typedef local::xinputrange< FileRangeT, bufSize > implImplementation.

12.46.2 Member Typedef Documentation

12.46.2.1 template<class FileRangeT = std::list<readablefile<pstring> >, size_t bufSize = 128∗ 1024> typedef local::xinputrange<FileRangeT, bufSize> stm::inputrange< FileRangeT, bufSize>::impl [private]

Implementation.

Reimplemented from stm::local::xinputrange< FileRangeT, bufSize >.

Definition at line 665 of file filesysaids.hpp.

12.46.2.2 template<class FileRangeT = std::list<readablefile<pstring> >, size_t bufSize = 128 ∗1024> typedef FileRangeT stm::inputrange< FileRangeT, bufSize >::filerange_type

Type of input file range.

Reimplemented from stm::local::xinputrange< FileRangeT, bufSize >.

Definition at line 672 of file filesysaids.hpp.

12.46.2.3 template<class FileRangeT = std::list<readablefile<pstring> >, size_t bufSize = 128 ∗1024> typedef filerange_type::value_type stm::inputrange< FileRangeT, bufSize >::inputfile_type

Type of input files.

Reimplemented from stm::local::xinputrange< FileRangeT, bufSize >.

Definition at line 675 of file filesysaids.hpp.

12.46.3 Member Enumeration Documentation

12.46.3.1 template<class FileRangeT = std::list<readablefile<pstring> >, size_t bufSize = 128 ∗1024> anonymous enum

Maximal Length of the input buffer.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 249: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.46 stm::inputrange< FileRangeT, bufSize > Class Template Reference 248

Enumerator:

BufSize

Definition at line 669 of file filesysaids.hpp.

12.46.4 Constructor & Destructor Documentation

12.46.4.1 template<class FileRangeT, size_t bufSize> stm::inputrange< FileRangeT, bufSize>::inputrange (const filerange_type & inputFiles = filerange_type ()) [inline, explicit]

Construct an inputrange object for the input file range inputFiles having a buffer with processed and un-processed ranges of length 0.

Definition at line 1766 of file filesysxaids.hpp.

12.46.4.2 template<class FileRangeT, size_t bufSize> stm::inputrange< FileRangeT, bufSize>::∼inputrange () [inline, virtual]

The destructor deletes the input buffer.

Definition at line 1774 of file filesysxaids.hpp.

12.46.5 Member Function Documentation

12.46.5.1 template<class FileRangeT, size_t bufSize> void stm::inputrange< FileRangeT, bufSize>::clear () [inline]

Clears this inputrange.

Reimplemented from stm::local::xinputrange< FileRangeT, bufSize >.

Definition at line 1778 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::clear(), stm::local::xinputrange< Fil-eRangeT, bufSize >::fp_, and stm::inputrange< FileRangeT, bufSize >::reportClose().

Referenced by stm::inputrange< FileRangeT, bufSize >::setInput().

12.46.5.2 template<class FileRangeT, size_t bufSize> void stm::inputrange< FileRangeT, bufSize>::setInput (const filerange_type & inputFiles) [inline]

Sets new input files for this inputrange.

Reimplemented from stm::local::xinputrange< FileRangeT, bufSize >.

Definition at line 1793 of file filesysxaids.hpp.

References stm::inputrange< FileRangeT, bufSize >::clear(), and stm::local::xinputrange< FileRangeT,bufSize >::setInput().

12.46.5.3 template<class FileRangeT, size_t bufSize> bool stm::inputrange< FileRangeT, bufSize>::read () throw (std::runtime_error) [inline]

Read bytes from the input files into the buffer.

At first the unprocessed buffer range is moved to the beginning of the buffer, thus emptying the processedbuffer range. Then the unprocessed buffer range is enlarged by appending as many bytes as possible from

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 250: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.46 stm::inputrange< FileRangeT, bufSize > Class Template Reference 249

the input files. The method returns true on success. If it returns false, either an error has occurred inwhich case isError() will return true or the unprocessed buffer range occupies the whole buffer, in whichcase bufFull() will return true, or all input files have been read in which case isEnd() will return true. Themethod may throw std::runtime_error, if a file handling function fails.

Definition at line 1804 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::bufEnd_, stm::local::xinputrange<FileRangeT, bufSize >::buffer_, stm::inputrange< FileRangeT, bufSize >::bufFull(),stm::local::xinputrange< FileRangeT, bufSize >::bufPtr_, stm::inputrange< FileRangeT, bufSize>::BufSize, stm::local::xinputrange< FileRangeT, bufSize >::bufStep_, stm::local::xinputrange<FileRangeT, bufSize >::error_, stm::local::xinputrange< FileRangeT, bufSize >::fileIt_-, stm::local::xinputrange< FileRangeT, bufSize >::fp_, stm::inputrange< FileRangeT, bufSize >::isEnd(),stm::local::xinputrange< FileRangeT, bufSize >::notReadSize_, stm::inputrange< FileRangeT, bufSize>::reportClose(), stm::inputrange< FileRangeT, bufSize >::reportError(), stm::inputrange< FileRangeT,bufSize >::reportOpen(), and StmDebugAidsVerify.

12.46.5.4 template<class FileRangeT, size_t bufSize> bool stm::inputrange< FileRangeT, bufSize>::isEnd () const [inline]

Return true, if all input bytes have been read.

Definition at line 1861 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::fileIt_.

Referenced by stm::inputrange< FileRangeT, bufSize >::read().

12.46.5.5 template<class FileRangeT, size_t bufSize> bool stm::inputrange< FileRangeT, bufSize>::isError () const [inline]

Return true, if an error did occur.

Definition at line 1869 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::error_.

12.46.5.6 template<class FileRangeT, size_t bufSize> const inputrange< FileRangeT, bufSize>::inputfile_type & stm::inputrange< FileRangeT, bufSize >::file () const [inline]

Return current input file.

Definition at line 1878 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::offset_, and StmDebugAidsVerify.

12.46.5.7 template<class FileRangeT, size_t bufSize> const inputrange< FileRangeT, bufSize>::inputfile_type & stm::inputrange< FileRangeT, bufSize >::file (long long offs) const [inline]

Return the input file containing the byte at offset offs within the concatenation of all input files.

Definition at line 1889 of file filesysxaids.hpp.

References StmDebugAidsVerify.

12.46.5.8 template<class FileRangeT, size_t bufSize> ptrdiff_t stm::inputrange< FileRangeT, buf-Size >::fileOffset (long long offs) const [inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 251: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.46 stm::inputrange< FileRangeT, bufSize > Class Template Reference 250

Return the file offset of the byte at offset offs within the concatenation of all input files in the file containingthat byte.

Definition at line 1900 of file filesysxaids.hpp.

References StmDebugAidsVerify.

12.46.5.9 template<class FileRangeT, size_t bufSize> long long stm::inputrange< FileRangeT,bufSize >::offset () const [inline]

Return the byte offset within the concatenation of all input files corresponding to the current position withinthe input buffer.

Definition at line 1915 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::offset_.

12.46.5.10 template<class FileRangeT, size_t bufSize> long long stm::inputrange< FileRangeT,bufSize >::offset (const byte ∗ ptr) const [inline]

Return the byte offset within the concatenation of all input files corresponding to the byte address ptr withinthe input buffer.

Definition at line 1922 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::bufEnd_, stm::local::xinputrange< Fil-eRangeT, bufSize >::bufPtr_, and stm::local::xinputrange< FileRangeT, bufSize >::offset_.

12.46.5.11 template<class FileRangeT, size_t bufSize> long long stm::inputrange< FileRangeT,bufSize >::totalSize () const [inline]

Return the total byte length of the concatenation of all input files.

Definition at line 1933 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::totalSize_.

12.46.5.12 template<class FileRangeT, size_t bufSize> long long stm::inputrange< FileRangeT,bufSize >::notReadSize () const [inline]

Return the not read byte length of the concatenation of all input files.

Definition at line 1940 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::notReadSize_.

12.46.5.13 template<class FileRangeT, size_t bufSize> void stm::inputrange< FileRangeT, bufSize>::setBufStep (ptrdiff_t step) [inline]

Set the number of bytes to increase the processed buffer range and the byte offset within the concatenationof all input files.

Definition at line 1947 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::bufStep_.

12.46.5.14 template<class FileRangeT, size_t bufSize> void stm::inputrange< FileRangeT, bufSize>::bufSetup () [inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 252: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.46 stm::inputrange< FileRangeT, bufSize > Class Template Reference 251

Setup the input buffer by setting the begin of the unprocessed range of the buffer to its begin, thus emptyingthe processed range.

As this method’s operation is performed by the constructor and by a successful read, it is rarely needed tobe called by the user.

Definition at line 1955 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::buffer_, and stm::local::xinputrange< Fil-eRangeT, bufSize >::bufPtr_.

12.46.5.15 template<class FileRangeT, size_t bufSize> const byte ∗ stm::inputrange< FileRangeT,bufSize >::bufPtr () const [inline]

Return the start address of the unprocessed buffer range.

Definition at line 1963 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::bufPtr_.

12.46.5.16 template<class FileRangeT, size_t bufSize> const byte ∗ stm::inputrange< FileRangeT,bufSize >::bufEnd () const [inline]

Return the past-the-end address of the unprocessed buffer range.

Definition at line 1970 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::bufEnd_.

12.46.5.17 template<class FileRangeT, size_t bufSize> bool stm::inputrange< FileRangeT, bufSize>::bufExhausted () const [inline]

Return true, if the unprocessed buffer range is empty.

Definition at line 1977 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::bufEnd_, and stm::local::xinputrange< Fil-eRangeT, bufSize >::bufPtr_.

12.46.5.18 template<class FileRangeT, size_t bufSize> bool stm::inputrange< FileRangeT, bufSize>::bufFull () const [inline]

Return true, if the unprocessed buffer range occupies the whole buffer.

Definition at line 1984 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::bufEnd_, stm::local::xinputrange< Fil-eRangeT, bufSize >::buffer_, and stm::local::xinputrange< FileRangeT, bufSize >::bufPtr_.

Referenced by stm::inputrange< FileRangeT, bufSize >::read().

12.46.5.19 template<class FileRangeT, size_t bufSize> void stm::inputrange< FileRangeT, bufSize>::bufAdvance () [inline]

Decrease the unprocessed buffer range, increase the processed buffer range and the byte offset within theconcatenation of all input files as configured by setBufStep().

Definition at line 1991 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 253: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.47 stm::inputrange_iterator< BufRangeT, ContextT > Class Template Reference 252

References stm::local::xinputrange< FileRangeT, bufSize >::bufEnd_, stm::local::xinputrange<FileRangeT, bufSize >::bufPtr_, stm::local::xinputrange< FileRangeT, bufSize >::bufStep_,stm::local::xinputrange< FileRangeT, bufSize >::offset_, and StmDebugAidsVerify.

12.46.5.20 template<class FileRangeT, size_t bufSize> void stm::inputrange< FileRangeT, bufSize>::reportOpen () const [inline, virtual]

Called when a new input file is opened.

The default implementation does nothing.

Definition at line 2002 of file filesysxaids.hpp.

Referenced by stm::inputrange< FileRangeT, bufSize >::read().

12.46.5.21 template<class FileRangeT, size_t bufSize> void stm::inputrange< FileRangeT, bufSize>::reportClose () const [inline, virtual]

Called when the current input file is closed.

The default implementation does nothing.

Definition at line 2009 of file filesysxaids.hpp.

Referenced by stm::inputrange< FileRangeT, bufSize >::clear(), and stm::inputrange< FileRangeT, buf-Size >::read().

12.46.5.22 template<class FileRangeT, size_t bufSize> void stm::inputrange< FileRangeT, bufSize>::reportError () const [inline, virtual]

Called when a read error for the current input file occurs.

The default implementation throws std::runtime_error.

Definition at line 2016 of file filesysxaids.hpp.

References stm::local::xinputrange< FileRangeT, bufSize >::fileIt_.

Referenced by stm::inputrange< FileRangeT, bufSize >::read().

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

• filesysaids.hpp• filesysxaids.hpp

12.47 stm::inputrange_iterator< BufRangeT, ContextT > Class Template Refer-ence

#include <filesysaids.hpp>

Inheritance diagram for stm::inputrange_iterator< BufRangeT, ContextT >:

stm::inputrange_iterator< BufRangeT, ContextT >

stm::local::xinputrange_iterator< BufRangeT, ContextT >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 254: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.47 stm::inputrange_iterator< BufRangeT, ContextT > Class Template Reference 253

Collaboration diagram for stm::inputrange_iterator< BufRangeT, ContextT >:

stm::inputrange_iterator< BufRangeT, ContextT >

stm::local::xinputrange_iterator< BufRangeT, ContextT >

12.47.1 Detailed Description

template<class BufRangeT, class ContextT> class stm::inputrange_iterator< BufRangeT, ContextT>

Input iterator class template reading successive byte ranges from the input range of the ContextT object forwhich it was constructed.

After it is constructed, and everytime ++ is used, the iterator reads and stores a value of BufRangeT whichshall be an iterator range class directly or indirectly derived from byte_iterator_range providing a construc-tor with signature

BufRangeT (const byte *first, const byte *last, ContextT &context).

This constructor is used to construct the BufRangeT objects non-end-of-range inputrange_iterator objectsrefer to. Its arguments first and last specify the base object boost::iterator_range<const byte ∗> range withwhich and the argument context the input range is accessible.

ContextT shall have a type member inputrange_type designating a specialization of the class templateinputrange or a directly or indirectly derived class therefrom and have a member funtion

inputrange_type &input ()

returning a reference to the ContextT object’s input range.

If the end of the ContextT object’s input range is reached, the iterator becomes equal to the end-of-rangeiterator value. The default constructor always constructs an end-of-range inputrange_iterator object, whichis the only legitimate iterator to be used for the end condition. The result of operator∗ on an end-of-rangeis not defined. For any other iterator value a const BufRangeT& is returned, referring to a subrange atthe beginning of the unprocessed range of input buffer of the ContexT object’s input range. The result ofoperator-> on an end-of-range is not defined. For any other iterator value a const BufRangeT∗ is returned.It is impossible to store things into inputrange_iterator objects.

The main peculiarity of inputrange_iterator is the fact that ++ operators are not equality preserving, that is,i == j does not guarantee at all that ++i == ++j. Every time ++ is used a new BufRangeT object is read.

The practical consequence of this fact is that inputrange_iterator objects can be used only for one-pass al-gorithms, which actually makes perfect sense, since for multi-pass algorithms it is always more appropriateto use in memory data structures.

Two end-of-range iterators are always equal. An end-of-range iterator is not equal to a non-end-of-rangeiterator. Two non-end-of-range iterators are equal when they are constructed from the same ContextTobject.

Definition at line 862 of file filesysaids.hpp.

Public Types

• typedef BufRangeT bufrange_type

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 255: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.47 stm::inputrange_iterator< BufRangeT, ContextT > Class Template Reference 254

Template type parameter BufRangeT.

• typedef ContextT context_typeTemplate parameter ContextT.

• typedef context_type::inputrange_type inputrange_typeInput range type.

Public Member Functions

• inputrange_iterator ()Default constructor yielding the end-of-range object.

• inputrange_iterator (context_type &context)Constructor yielding the first inputrange_iterator object for context.

• inputrange_iterator (const inputrange_iterator< BufRangeT, ContextT > &that)Copy constructor.

• ∼inputrange_iterator ()Destructor.

• const bufrange_type & operator ∗ () constDereference operator.

• const bufrange_type ∗ operator→ () constMember access operator.

• inputrange_iterator< BufRangeT, ContextT > & operator++ ()Preincrement operator.

• inputrange_iterator< BufRangeT, ContextT > operator++ (int)Postincrement operator.

• bool equal (const inputrange_iterator< BufRangeT, ContextT > &that) constEquality comparison operator.

Private Types

• typedef local::xinputrange_iterator< BufRangeT, ContextT > implImplementation.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 256: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.47 stm::inputrange_iterator< BufRangeT, ContextT > Class Template Reference 255

12.47.2 Member Typedef Documentation

12.47.2.1 template<class BufRangeT, class ContextT> typedef local::xinputrange_-iterator<BufRangeT, ContextT> stm::inputrange_iterator< BufRangeT, ContextT >::impl[private]

Implementation.

Reimplemented from stm::local::xinputrange_iterator< BufRangeT, ContextT >.

Definition at line 874 of file filesysaids.hpp.

12.47.2.2 template<class BufRangeT, class ContextT> typedef BufRangeT stm::inputrange_-iterator< BufRangeT, ContextT >::bufrange_type

Template type parameter BufRangeT.

Reimplemented from stm::local::xinputrange_iterator< BufRangeT, ContextT >.

Definition at line 878 of file filesysaids.hpp.

12.47.2.3 template<class BufRangeT, class ContextT> typedef ContextT stm::inputrange_-iterator< BufRangeT, ContextT >::context_type

Template parameter ContextT.

Reimplemented from stm::local::xinputrange_iterator< BufRangeT, ContextT >.

Definition at line 881 of file filesysaids.hpp.

12.47.2.4 template<class BufRangeT, class ContextT> typedef context_type::inputrange_typestm::inputrange_iterator< BufRangeT, ContextT >::inputrange_type

Input range type.

Reimplemented from stm::local::xinputrange_iterator< BufRangeT, ContextT >.

Definition at line 884 of file filesysaids.hpp.

12.47.3 Constructor & Destructor Documentation

12.47.3.1 template<class BufRangeT, class ContextT> stm::inputrange_iterator< BufRangeT,ContextT >::inputrange_iterator () [inline]

Default constructor yielding the end-of-range object.

The only operations that can be done with such an object are assignment, comparison and destruction.

Definition at line 2046 of file filesysxaids.hpp.

12.47.3.2 template<class BufRangeT, class ContextT> stm::inputrange_iterator< BufRangeT,ContextT >::inputrange_iterator (context_type & context) [inline]

Constructor yielding the first inputrange_iterator object for context.

Definition at line 2051 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 257: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.47 stm::inputrange_iterator< BufRangeT, ContextT > Class Template Reference 256

12.47.3.3 template<class BufRangeT, class ContextT> stm::inputrange_iterator< BufRangeT,ContextT >::inputrange_iterator (const inputrange_iterator< BufRangeT, ContextT > & that)[inline]

Copy constructor.

Definition at line 2060 of file filesysxaids.hpp.

12.47.3.4 template<class BufRangeT, class ContextT> stm::inputrange_iterator< BufRangeT,ContextT >::∼inputrange_iterator () [inline]

Destructor.

Definition at line 2068 of file filesysxaids.hpp.

12.47.4 Member Function Documentation

12.47.4.1 template<class BufRangeT, class ContextT> const inputrange_iterator< BufRangeT,ContextT >::bufrange_type & stm::inputrange_iterator< BufRangeT, ContextT >::operator ∗ ()const [inline]

Dereference operator.

Definition at line 2074 of file filesysxaids.hpp.

References stm::local::xinputrange_iterator< BufRangeT, ContextT >::bufrange().

12.47.4.2 template<class BufRangeT, class ContextT> const inputrange_iterator< BufRangeT,ContextT >::bufrange_type ∗ stm::inputrange_iterator< BufRangeT, ContextT >::operator → ()const [inline]

Member access operator.

Definition at line 2083 of file filesysxaids.hpp.

References stm::local::xinputrange_iterator< BufRangeT, ContextT >::bufrange().

12.47.4.3 template<class BufRangeT, class ContextT> inputrange_iterator< BufRangeT, Con-textT > & stm::inputrange_iterator< BufRangeT, ContextT >::operator++ () [inline]

Preincrement operator.

Definition at line 2091 of file filesysxaids.hpp.

References stm::local::xinputrange_iterator< BufRangeT, ContextT >::scan().

12.47.4.4 template<class BufRangeT, class ContextT> inputrange_iterator< BufRangeT, Con-textT > stm::inputrange_iterator< BufRangeT, ContextT >::operator++ (int) [inline]

Postincrement operator.

Definition at line 2100 of file filesysxaids.hpp.

References stm::local::xinputrange_iterator< BufRangeT, ContextT >::scan().

12.47.4.5 template<class BufRangeT, class ContextT> bool stm::inputrange_iterator<BufRangeT, ContextT >::equal (const inputrange_iterator< BufRangeT, ContextT > & that)const [inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 258: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.48 stm::inputseq< InputFileT, bufSize > Class Template Reference 257

Equality comparison operator.

Definition at line 2110 of file filesysxaids.hpp.

References stm::local::xinputrange_iterator< BufRangeT, ContextT >::context_.

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

• filesysaids.hpp• filesysxaids.hpp

12.48 stm::inputseq< InputFileT, bufSize > Class Template Reference

#include <filesysaids.hpp>

Inheritance diagram for stm::inputseq< InputFileT, bufSize >:

stm::inputseq< InputFileT, bufSize >stm::inputrange< std::set< InputFileT >, bufSize >

stm::local::xinputrange< std::set< InputFileT >, bufSize >

std::map<long long, std::set< InputFileT > ::const_iterator>

stm::local::xinputrange< FileRangeT, bufSize >

< std::set< InputFileT >, bufSize >

stm::inputrange< FileRangeT, bufSize >< std::set< InputFileT >, bufSize >

Collaboration diagram for stm::inputseq< InputFileT, bufSize >:

stm::inputseq< InputFileT, bufSize >stm::inputrange< std::set< InputFileT >, bufSize >

stm::local::xinputrange< std::set< InputFileT >, bufSize >

std::map<long long, std::set< InputFileT > ::const_iterator>

stm::local::xinputrange< FileRangeT, bufSize >

< std::set< InputFileT >, bufSize >

stm::inputrange< FileRangeT, bufSize >< std::set< InputFileT >, bufSize >

12.48.1 Detailed Description

template<class InputFileT = sizedfile, size_t bufSize = 128 ∗ 1024> class stm::inputseq< InputFileT,bufSize >

Deprecated

For historical reasons. Do not use for new code.

Definition at line 779 of file filesysaids.hpp.

Public Types

• typedef inputrange< std::set< InputFileT >, bufSize > base• typedef base::inputfile_type InputFile

Type of input files.

• typedef std::set< InputFile > InputFileSetType of input file set.

Public Member Functions

• inputseq (const InputFileSet &inputFiles)Construct an inputseq object for the input file set inputFiles having a buffer with processed and unprocessedranges of length 0.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 259: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.49 stm::integral_range< IntegralT, minVal, maxVal > Class Template Reference 258

12.48.2 Member Typedef Documentation

12.48.2.1 template<class InputFileT = sizedfile, size_t bufSize = 128 ∗ 1024> typedefinputrange<std::set<InputFileT>, bufSize> stm::inputseq< InputFileT, bufSize >::base

Reimplemented from stm::local::xinputrange< std::set< InputFileT >, bufSize >.

Definition at line 783 of file filesysaids.hpp.

12.48.2.2 template<class InputFileT = sizedfile, size_t bufSize = 128 ∗ 1024> typedefbase::inputfile_type stm::inputseq< InputFileT, bufSize >::InputFile

Type of input files.

Definition at line 786 of file filesysaids.hpp.

12.48.2.3 template<class InputFileT = sizedfile, size_t bufSize = 128 ∗ 1024> typedefstd::set<InputFile> stm::inputseq< InputFileT, bufSize >::InputFileSet

Type of input file set.

Definition at line 789 of file filesysaids.hpp.

12.48.3 Constructor & Destructor Documentation

12.48.3.1 template<class InputFileT, size_t bufSize> stm::inputseq< InputFileT, bufSize>::inputseq (const InputFileSet & inputFiles) [inline, explicit]

Construct an inputseq object for the input file set inputFiles having a buffer with processed and unprocessedranges of length 0.

Definition at line 2034 of file filesysxaids.hpp.

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

• filesysaids.hpp• filesysxaids.hpp

12.49 stm::integral_range< IntegralT, minVal, maxVal > Class Template Refer-ence

#include <divaids.hpp>

Inheritance diagram for stm::integral_range< IntegralT, minVal, maxVal >:

stm::integral_range< IntegralT, minVal, maxVal >

stm::local::xIntegral_range< IntegralT, minVal, maxVal >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 260: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.49 stm::integral_range< IntegralT, minVal, maxVal > Class Template Reference 259

Collaboration diagram for stm::integral_range< IntegralT, minVal, maxVal >:

stm::integral_range< IntegralT, minVal, maxVal >

stm::local::xIntegral_range< IntegralT, minVal, maxVal >

12.49.1 Detailed Description

template<typename IntegralT, IntegralT minVal = boost::integer_traits<IntegralT>::const_min,IntegralT maxVal = boost::integer_traits<IntegralT>::const_max> class stm::integral_range< In-tegralT, minVal, maxVal >

Class template representing a range of integral objects of type IntegralT constrained by the minimal andmaximal values minVal and maxVal.

As the implementation of integral_range uses regular expressions (see Abstract Data Type StmRe), forits error control the macro StmRectrlTry can be used.

Examples:

divaidstest.cpp.

Definition at line 476 of file divaids.hpp.

Public Types

• typedef IntegralT integral_typeTemplate type argument IntegralT.

• typedef integral_range< IntegralT, minVal, maxVal > range_typeThis class template.

Public Member Functions

• integral_range (bool fullRange=false)Constructs an empty integral_range object, if fullRange is false (default), else a maximal integral_rangeobject.

• integral_range (integral_type number)Constructs an integral_range object containing exactly number.

• integral_range (integral_type fromNumber, integral_type toNumber)Constructs an integral_range object containing the half open integral_type range [fromNumber, toNumber).

• range_type & assign (const std::string &valSpec, size_t fmtFlags=0)Assigns the integral range specified by valSpec to this integral_range object and returns a reference to it.

• range_type & assign (const char ∗valSpec, size_t fmtFlags=0)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 261: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.49 stm::integral_range< IntegralT, minVal, maxVal > Class Template Reference 260

Assigns the integral range specified by valSpec to this integral_range object and returns a reference to it.

• void swap (range_type &other) throw ()Non-throwing spap member function.

• integral_type from () constReturns the first number contained in the range, if the range is not empty, else MaxVal.

• integral_type last () constReturns the greatest number contained in the integral range, if the range is not empty, else MaxVal-1.

• integral_type to () constReturns one plus the greatest number contained in the integral range, if the range is not empty and itsupperlimit is less than MaxVal, else MaxVal and MinVal, respectively.

• size_t size () constReturns the number of numbers contained in the range.

• bool empty () constReturns true, if the range is empty.

• bool full () constReturns true, if the range is maximal.

• range_type operator & (integral_type number) constReturn the empty integral range, if number is not contained in this range, else an integral range consistingof number.

• range_type operator & (const range_type &other) constReturn an integral range consisting of the numbers contained in both this range and in the other range.

• range_type & operator &= (const range_type &other)Remove all numbers not contained in the other range from this range and return a reference to it.

• range_type & clear ()Empty this range and return it.

• range_type & fill ()Make this range maximal and return it.

• bool operator< (const range_type &other) constStrict weak order operation allowing integral ranges to be stored in associative containers.

• bool operator<= (integral_type number) constReturn true, if this integral range is empty or its only element is number.

• bool operator<= (const range_type &other) constReturn true, if all numbers contained in this integral range are also contained in the other range.

• bool operator>= (integral_type number) const

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 262: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.49 stm::integral_range< IntegralT, minVal, maxVal > Class Template Reference 261

Return true, if number is contained in this range.

• bool operator>= (const range_type &other) constReturn true, if all numbers of the other range are also contained in this range.

• bool operator== (integral_type number) constReturn true, if this integral range’s only element is number.

• bool operator== (const range_type &other) constReturn true, if this integral range contains exactly the same numbers as the other range.

• bool operator!= (integral_type number) constReturn true, if number is no element of this integral range or if it is not its only element.

• bool operator!= (const range_type &other) constReturn true, if this integral range does not contain exactly the same numbers as the other range.

Static Public Member Functions

• static range_type emptyrange ()Return the empty integral range.

• static range_type fullrange ()Return the maximal integral range.

Static Public Attributes

• static const integral_type MinVal = minValTemplate non-type argument minVal as integral_type constant.

• static const integral_type MaxVal = maxValTemplate non-type argument maxVal as integral_type constant.

• static const size_t EmptyAllowed = impl::EmptyAllowedBitwise orable fmtFlag value.

Private Types

• typedef local::xIntegral_range< IntegralT, minVal, maxVal > implImplementation.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 263: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.49 stm::integral_range< IntegralT, minVal, maxVal > Class Template Reference 262

12.49.2 Member Typedef Documentation

12.49.2.1 template<typename IntegralT, IntegralT minVal = boost::integer_-traits<IntegralT>::const_min, IntegralT maxVal = boost::integer_traits<IntegralT>::const_max>typedef local::xIntegral_range<IntegralT, minVal, maxVal> stm::integral_range< IntegralT,minVal, maxVal >::impl [private]

Implementation.

Reimplemented from stm::local::xIntegral_range< IntegralT, minVal, maxVal >.

Definition at line 480 of file divaids.hpp.

12.49.2.2 template<typename IntegralT, IntegralT minVal = boost::integer_-traits<IntegralT>::const_min, IntegralT maxVal = boost::integer_traits<IntegralT>::const_max>typedef IntegralT stm::integral_range< IntegralT, minVal, maxVal >::integral_type

Template type argument IntegralT.

Reimplemented from stm::local::xIntegral_range< IntegralT, minVal, maxVal >.

Definition at line 484 of file divaids.hpp.

12.49.2.3 template<typename IntegralT, IntegralT minVal = boost::integer_-traits<IntegralT>::const_min, IntegralT maxVal = boost::integer_traits<IntegralT>::const_max>typedef integral_range<IntegralT, minVal, maxVal> stm::integral_range< IntegralT, minVal,maxVal >::range_type

This class template.

Definition at line 487 of file divaids.hpp.

12.49.3 Constructor & Destructor Documentation

12.49.3.1 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> stm::integral_-range< IntegralT, minVal, maxVal >::integral_range (bool fullRange = false) [inline]

Constructs an empty integral_range object, if fullRange is false (default), else a maximal integral_rangeobject.

Definition at line 1628 of file divxaids.hpp.

12.49.3.2 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> stm::integral_-range< IntegralT, minVal, maxVal >::integral_range (integral_type number) [inline]

Constructs an integral_range object containing exactly number.

Throws, if number is out of range limits.

Definition at line 1635 of file divxaids.hpp.

12.49.3.3 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> stm::integral_-range< IntegralT, minVal, maxVal >::integral_range (integral_type fromNumber, integral_typetoNumber) [inline]

Constructs an integral_range object containing the half open integral_type range [fromNumber, toNumber).

Throws, if the object to be constructed violates the range limits.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 264: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.49 stm::integral_range< IntegralT, minVal, maxVal > Class Template Reference 263

Definition at line 1644 of file divxaids.hpp.

12.49.4 Member Function Documentation

12.49.4.1 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> integral_range<IntegralT, minVal, maxVal > & stm::integral_range< IntegralT, minVal, maxVal >::assign (conststd::string & valSpec, size_t fmtFlags = 0) [inline]

Assigns the integral range specified by valSpec to this integral_range object and returns a reference to it.

The integral range to assign is specified by valSpec, which consists of a number defining the first numbercontained in the range optionally followed by ’-’ followed by another number defining the greatest numbercontained in the range.

The numbers contained in valSpec are treated as having 8, 10 or 16 depending on their form: A leading "0"implies octal and leading "0x" or "0X" implies hexadecimal.

If the fmtFlags bit integral_range::EmptyAllowed is set, also an empty or only whitespace containingvalSpec is allowed representing the empty integral_range.

Definition at line 1656 of file divxaids.hpp.

References stm::local::xIntegral_range< IntegralT, minVal, maxVal >::match().

Referenced by stm::operator>>().

12.49.4.2 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> integral_range<IntegralT, minVal, maxVal > & stm::integral_range< IntegralT, minVal, maxVal >::assign (constchar ∗ valSpec, size_t fmtFlags = 0) [inline]

Assigns the integral range specified by valSpec to this integral_range object and returns a reference to it.

The integral range to assign is specified by valSpec, which consists of a number defining the first numbercontained in the range optionally followed by ’-’ followed by another number defining the greatest numbercontained in the range.

The numbers contained in valSpec are treated as having 8, 10 or 16 depending on their form: A leading "0"implies octal and leading "0x" or "0X" implies hexadecimal.

If the fmtFlags bit integral_range::EmptyAllowed is set, also an empty or only whitespace containingvalSpec is allowed representing the empty integral_range.

Definition at line 1669 of file divxaids.hpp.

References stm::local::xIntegral_range< IntegralT, minVal, maxVal >::match().

12.49.4.3 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> voidstm::integral_range< IntegralT, minVal, maxVal >::swap (range_type & other) throw ()[inline]

Non-throwing spap member function.

Definition at line 1679 of file divxaids.hpp.

References stm::smartptr::swap().

12.49.4.4 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> IntegralTstm::integral_range< IntegralT, minVal, maxVal >::from () const [inline]

Returns the first number contained in the range, if the range is not empty, else MaxVal.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 265: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.49 stm::integral_range< IntegralT, minVal, maxVal > Class Template Reference 264

Definition at line 1687 of file divxaids.hpp.

12.49.4.5 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> IntegralTstm::integral_range< IntegralT, minVal, maxVal >::last () const [inline]

Returns the greatest number contained in the integral range, if the range is not empty, else MaxVal-1.

Definition at line 1694 of file divxaids.hpp.

References stm::integral_range< IntegralT, minVal, maxVal >::MaxVal, stm::integral_range< IntegralT,minVal, maxVal >::MinVal, and stm::integral_range< IntegralT, minVal, maxVal >::to().

12.49.4.6 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> IntegralTstm::integral_range< IntegralT, minVal, maxVal >::to () const [inline]

Returns one plus the greatest number contained in the integral range, if the range is not empty and itsupperlimit is less than MaxVal, else MaxVal and MinVal, respectively.

Definition at line 1701 of file divxaids.hpp.

Referenced by stm::integral_range< IntegralT, minVal, maxVal >::last().

12.49.4.7 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> size_tstm::integral_range< IntegralT, minVal, maxVal >::size () const [inline]

Returns the number of numbers contained in the range.

This may be 0, although the set is not empty in cases where sizeof (integral_type) == sizeof (size_t) .

Definition at line 1708 of file divxaids.hpp.

References stm::integral_range< IntegralT, minVal, maxVal >::MaxVal, and stm::integral_range< Inte-gralT, minVal, maxVal >::MinVal.

Referenced by stm::integral_range< IntegralT, minVal, maxVal >::operator!=(), stm::integral_range<IntegralT, minVal, maxVal >::operator<=(), and stm::integral_range< IntegralT, minVal, maxVal>::operator==().

12.49.4.8 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> boolstm::integral_range< IntegralT, minVal, maxVal >::empty () const [inline]

Returns true, if the range is empty.

Definition at line 1718 of file divxaids.hpp.

References stm::integral_range< IntegralT, minVal, maxVal >::MinVal.

Referenced by stm::integral_range< IntegralT, minVal, maxVal >::operator &=(), and stm::integral_-range< IntegralT, minVal, maxVal >::operator<=().

12.49.4.9 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> boolstm::integral_range< IntegralT, minVal, maxVal >::full () const [inline]

Returns true, if the range is maximal.

Definition at line 1725 of file divxaids.hpp.

References stm::integral_range< IntegralT, minVal, maxVal >::MinVal.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 266: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.49 stm::integral_range< IntegralT, minVal, maxVal > Class Template Reference 265

12.49.4.10 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> integral_range<IntegralT, minVal, maxVal > stm::integral_range< IntegralT, minVal, maxVal >::operator &(integral_type number) const [inline]

Return the empty integral range, if number is not contained in this range, else an integral range consistingof number.

Definition at line 1734 of file divxaids.hpp.

12.49.4.11 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> integral_range<IntegralT, minVal, maxVal > stm::integral_range< IntegralT, minVal, maxVal >::operator & (constrange_type & other) const [inline]

Return an integral range consisting of the numbers contained in both this range and in the other range.

Definition at line 1743 of file divxaids.hpp.

12.49.4.12 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> integral_range<IntegralT, minVal, maxVal > & stm::integral_range< IntegralT, minVal, maxVal >::operator &=(const range_type & other) [inline]

Remove all numbers not contained in the other range from this range and return a reference to it.

The result is potentionally empty.

Definition at line 1751 of file divxaids.hpp.

References stm::integral_range< IntegralT, minVal, maxVal >::empty(), and stm::integral_range< Inte-gralT, minVal, maxVal >::MinVal.

12.49.4.13 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> integral_range<IntegralT, minVal, maxVal > stm::integral_range< IntegralT, minVal, maxVal >::emptyrange ()[inline, static]

Return the empty integral range.

Definition at line 1780 of file divxaids.hpp.

12.49.4.14 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> integral_range<IntegralT, minVal, maxVal > & stm::integral_range< IntegralT, minVal, maxVal >::clear ()[inline]

Empty this range and return it.

Definition at line 1789 of file divxaids.hpp.

References stm::integral_range< IntegralT, minVal, maxVal >::MaxVal.

12.49.4.15 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> integral_range<IntegralT, minVal, maxVal > stm::integral_range< IntegralT, minVal, maxVal >::fullrange ()[inline, static]

Return the maximal integral range.

Definition at line 1799 of file divxaids.hpp.

12.49.4.16 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> integral_range<IntegralT, minVal, maxVal > & stm::integral_range< IntegralT, minVal, maxVal >::fill ()

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 267: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.49 stm::integral_range< IntegralT, minVal, maxVal > Class Template Reference 266

[inline]

Make this range maximal and return it.

Definition at line 1808 of file divxaids.hpp.

References stm::integral_range< IntegralT, minVal, maxVal >::MinVal.

12.49.4.17 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> boolstm::integral_range< IntegralT, minVal, maxVal >::operator< (const range_type & other)const [inline]

Strict weak order operation allowing integral ranges to be stored in associative containers.

Definition at line 1817 of file divxaids.hpp.

12.49.4.18 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> boolstm::integral_range< IntegralT, minVal, maxVal >::operator<= (integral_type number) const[inline]

Return true, if this integral range is empty or its only element is number.

Definition at line 1826 of file divxaids.hpp.

References stm::integral_range< IntegralT, minVal, maxVal >::empty(), and stm::integral_range< Inte-gralT, minVal, maxVal >::size().

12.49.4.19 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> boolstm::integral_range< IntegralT, minVal, maxVal >::operator<= (const range_type & other)const [inline]

Return true, if all numbers contained in this integral range are also contained in the other range.

Definition at line 1834 of file divxaids.hpp.

12.49.4.20 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> boolstm::integral_range< IntegralT, minVal, maxVal >::operator>= (integral_type number) const[inline]

Return true, if number is contained in this range.

Definition at line 1842 of file divxaids.hpp.

References stm::integral_range< IntegralT, minVal, maxVal >::MaxVal.

12.49.4.21 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> boolstm::integral_range< IntegralT, minVal, maxVal >::operator>= (const range_type & other)const [inline]

Return true, if all numbers of the other range are also contained in this range.

Definition at line 1850 of file divxaids.hpp.

References stm::integral_range< IntegralT, minVal, maxVal >::MaxVal, and stm::integral_range< Inte-gralT, minVal, maxVal >::MinVal.

12.49.4.22 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> boolstm::integral_range< IntegralT, minVal, maxVal >::operator== (integral_type number) const

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 268: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.49 stm::integral_range< IntegralT, minVal, maxVal > Class Template Reference 267

[inline]

Return true, if this integral range’s only element is number.

Definition at line 1860 of file divxaids.hpp.

References stm::integral_range< IntegralT, minVal, maxVal >::size().

12.49.4.23 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> boolstm::integral_range< IntegralT, minVal, maxVal >::operator== (const range_type & other)const [inline]

Return true, if this integral range contains exactly the same numbers as the other range.

Definition at line 1867 of file divxaids.hpp.

12.49.4.24 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> boolstm::integral_range< IntegralT, minVal, maxVal >::operator!= (integral_type number) const[inline]

Return true, if number is no element of this integral range or if it is not its only element.

Definition at line 1876 of file divxaids.hpp.

References stm::integral_range< IntegralT, minVal, maxVal >::size().

12.49.4.25 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> boolstm::integral_range< IntegralT, minVal, maxVal >::operator!= (const range_type & other)const [inline]

Return true, if this integral range does not contain exactly the same numbers as the other range.

Definition at line 1883 of file divxaids.hpp.

12.49.5 Member Data Documentation

12.49.5.1 template<typename IntegralT, IntegralT minVal = boost::integer_-traits<IntegralT>::const_min, IntegralT maxVal = boost::integer_traits<IntegralT>::const_-max> const integral_type stm::integral_range< IntegralT, minVal, maxVal >::MinVal = minVal[static]

Template non-type argument minVal as integral_type constant.

Reimplemented from stm::local::xIntegral_range< IntegralT, minVal, maxVal >.

Definition at line 490 of file divaids.hpp.

Referenced by stm::integral_range< IntegralT, minVal, maxVal >::empty(), stm::integral_range< Inte-gralT, minVal, maxVal >::fill(), stm::integral_range< IntegralT, minVal, maxVal >::full(), stm::integral_-range< IntegralT, minVal, maxVal >::last(), stm::integral_range< IntegralT, minVal, maxVal >::operator&=(), stm::integral_range< IntegralT, minVal, maxVal >::operator>=(), and stm::integral_range< Inte-gralT, minVal, maxVal >::size().

12.49.5.2 template<typename IntegralT, IntegralT minVal = boost::integer_-traits<IntegralT>::const_min, IntegralT maxVal = boost::integer_traits<IntegralT>::const_-max> const integral_type stm::integral_range< IntegralT, minVal, maxVal >::MaxVal = maxVal[static]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 269: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 268

Template non-type argument maxVal as integral_type constant.

Reimplemented from stm::local::xIntegral_range< IntegralT, minVal, maxVal >.

Definition at line 493 of file divaids.hpp.

Referenced by stm::integral_range< IntegralT, minVal, maxVal >::clear(), stm::integral_range< Inte-gralT, minVal, maxVal >::last(), stm::integral_range< IntegralT, minVal, maxVal >::operator>=(), andstm::integral_range< IntegralT, minVal, maxVal >::size().

12.49.5.3 template<typename IntegralT, IntegralT minVal = boost::integer_-traits<IntegralT>::const_min, IntegralT maxVal = boost::integer_traits<IntegralT>::const_-max> const size_t stm::integral_range< IntegralT, minVal, maxVal >::EmptyAllowed =impl::EmptyAllowed [static]

Bitwise orable fmtFlag value.

Reimplemented from stm::local::xIntegral_range< IntegralT, minVal, maxVal >.

Definition at line 496 of file divaids.hpp.

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

• divaids.hpp• divxaids.hpp

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference

#include <divaids.hpp>

Inheritance diagram for stm::integral_set< IntegralRangeT, RangeSetT >:

stm::integral_set< IntegralRangeT, RangeSetT >

stm::local::xIntegral_set< IntegralRangeT, RangeSetT >

Collaboration diagram for stm::integral_set< IntegralRangeT, RangeSetT >:

stm::integral_set< IntegralRangeT, RangeSetT >

stm::local::xIntegral_set< IntegralRangeT, RangeSetT >

12.50.1 Detailed Description

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>> classstm::integral_set< IntegralRangeT, RangeSetT >

Class template integral_set is a set container representing a set of integral type objects constrained byminimal and maximal values wrapping a set of integral ranges.

The template parameter IntegralRangeT shall be a specialization of integral_range or be publicly derivedtherefrom. The template parameter RangeSetT a set container with value type IntegralRangeT. As the

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 270: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 269

implementation of integral_set uses regular expressions (see Abstract Data Type StmRe), for its errorcontrol the macro StmRectrlTry can be used.

Examples:

divaidstest.cpp.

Definition at line 672 of file divaids.hpp.

Integral Set Iterators

Integral set iterators model the Readable Iterator and the Bidirectional Traversal Iterator concepts.

They iterate over the integral_type object of the controlled integral_set.

• typedef impl::integral_iterator iterator• typedef std::reverse_iterator< iterator > reverse_iterator• typedef iterator const_iterator• typedef reverse_iterator const_reverse_iterator• iterator begin () const• iterator end () const• reverse_iterator rbegin () const• reverse_iterator rend () const

Range Iterators

Range iterators model the Readable Iterator and the Bidirectional Traversal Iterator concepts.

They iterate over the range_type objects of the controlled integral_set.

• typedef impl::const_iterator range_iterator• typedef impl::const_reverse_iterator reverse_range_iterator• range_iterator beginrange () const• range_iterator endrange () const• reverse_range_iterator rbeginrange () const• reverse_range_iterator rendrange () const

Public Types

• typedef IntegralRangeT range_typeTemplate type parameter IntegralRangeT.

• typedef RangeSetT rangeset_typeTemplate type parameter RangeSetT.

• typedef IntegralRangeT::integral_type integral_typeThe type of the integral type objects held by this integral_set.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 271: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 270

Public Member Functions

• integral_set (integral_type number)Constructs an integral set containing number.

• integral_set (const range_type &range)Constructs an integral set object containing the integral range.

• integral_set (const rangeset_type &rangeset=rangeset_type())Constructs an integral set object wrapping the integral range set rangeset.

• integral_set< IntegralRangeT, RangeSetT > & operator= (integral_type number)Assigns the integral set specified consisting of number to this integral_set object and returns a reference toit.

• integral_set< IntegralRangeT, RangeSetT > & operator= (const range_type &range)Assigns the integral set specified consisting of range to this integral_set object and returns a reference to it.

• integral_set< IntegralRangeT, RangeSetT > & operator= (const rangeset_type &rangeset)Assigns the integral set specified consisting of rangeset to this integral_set object and returns a reference toit.

• integral_set< IntegralRangeT, RangeSetT > & assign (const std::string &valSpecList, size_t fmt-Flags=0)

Assigns the integral set specified by valSpecList to this integral_set object and returns a reference to it.

• integral_set< IntegralRangeT, RangeSetT > & assign (const char ∗valSpecList, size_t fmtFlags=0)Assigns the integral set specified by valSpecList to this integral_set object and returns a reference to it.

• void swap (integral_set< IntegralRangeT, RangeSetT > &other) throw ()Swap the contents of this set and the other integral set.

• void swap (rangeset_type &rangeset) throw ()Swap the contents of this set and rangeset.

• operator const RangeSetT & () constReturns a constant reference to the range set representing this integral set.

• iterator find (integral_type number) constIf number is contained in this set, return an iterator to it, else return end().

• reverse_iterator rfind (integral_type number) constIf number is contained in this set, return a reverse iterator to it, else return rend().

• range_iterator findrange (integral_type number) constReturn the range iterator pointing to the integral range number belongs to, or endrange(), if there is no suchrange.

• reverse_range_iterator rfindrange (integral_type number) constReturn the reverse range iterator pointing to the integral range number belongs to, or rendrange(), if thereis no such range.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 272: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 271

• size_t size () constReturn the number of numbers contained in this set.

• size_t ranges () constReturn the number integral ranges building this set.

• bool empty () constReturns true, if this set is empty.

• bool full () constReturns true, if this set is maximal.

• range_type hull () constReturns the least range containing all numbers of this set.

• integral_type min () constReturns the least value contained in this set, or MaxVal if the set is empty.

• integral_type max () constReturns the largest value contained in this set, or MaxVal if the set is empty.

• integral_set< IntegralRangeT, RangeSetT > operator| (integral_type number) constReturn an integral set consisting of the numbers contained in this set and of number.

• integral_set< IntegralRangeT, RangeSetT > operator| (const range_type &range) constReturn an integral set consisting of the numbers contained in this set and in range.

• integral_set< IntegralRangeT, RangeSetT > operator| (const rangeset_type &rangeset) constReturn an integral set consisting of the numbers contained in this set and in rangeset.

• integral_set< IntegralRangeT, RangeSetT > & operator|= (integral_type number)Add number to this set and return a reference to it.

• integral_set< IntegralRangeT, RangeSetT > & operator|= (const range_type &range)Add the numbers contained in range to this set and return a reference to it.

• integral_set< IntegralRangeT, RangeSetT > & operator|= (const rangeset_type &rangeset)Add the numbers contained in rangeset to this set and return a reference to it.

• integral_set< IntegralRangeT, RangeSetT > operator & (integral_type number) constReturn the empty integral set, if number is not contained in this set, else an integral set consisting of number.

• integral_set< IntegralRangeT, RangeSetT > operator & (const range_type &range) constReturn an integral set consisting of the numbers contained in both this set and in range.

• integral_set< IntegralRangeT, RangeSetT > operator & (const rangeset_type &rangeset) constReturn an integral set consisting of the numbers contained in both this set and in rangeset.

• integral_set< IntegralRangeT, RangeSetT > & operator &= (integral_type number)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 273: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 272

Remove all numbers unequal to number from this set and return a reference to it.

• integral_set< IntegralRangeT, RangeSetT > & operator &= (const range_type &range)Remove all numbers not contained in range from this set and return a reference to it.

• integral_set< IntegralRangeT, RangeSetT > & operator &= (const rangeset_type &rangeset)Remove all numbers not contained in rangeset from this set and return a reference to it.

• integral_set< IntegralRangeT, RangeSetT > operator- (integral_type number) constReturn an integral set consisting of the numbers contained in this set except number.

• integral_set< IntegralRangeT, RangeSetT > operator- (const range_type &range) constReturn an integral set consisting of the numbers contained in this set except those contained also in range.

• integral_set< IntegralRangeT, RangeSetT > operator- (const rangeset_type &rangeset) constReturn an integral set consisting of the numbers contained in this set except those contained also in rangeset.

• integral_set< IntegralRangeT, RangeSetT > & operator-= (integral_type number)Remove number from this set and return a reference to it.

• integral_set< IntegralRangeT, RangeSetT > & operator-= (const range_type &range)Remove all numbers contained in range from this set and return a reference to it.

• integral_set< IntegralRangeT, RangeSetT > & operator-= (const rangeset_type &rangeset)Remove all numbers contained in rangeset from this set and return a reference to it.

• integral_set< IntegralRangeT, RangeSetT > operator∧ (integral_type number) constReturn an integral set consisting of the symmetrical difference of this set and number.

• integral_set< IntegralRangeT, RangeSetT > operator∧ (const range_type &range) constReturn an integral set consisting of the symmetrical difference of this set and range.

• integral_set< IntegralRangeT, RangeSetT > operator∧ (const rangeset_type &rangeset) constReturn an integral set consisting of the symmetrical difference of this set and rangeset.

• integral_set< IntegralRangeT, RangeSetT > & operator∧= (integral_type number)Make this set the symmetrical difference of number and the other set and return a reference to it.

• integral_set< IntegralRangeT, RangeSetT > & operator∧= (const range_type &range)Make this set the symmetrical difference of range and the other set and return a reference to it.

• integral_set< IntegralRangeT, RangeSetT > & operator∧= (const rangeset_type &rangeset)Make this set the symmetrical difference of this set and rangeset and return a reference to it.

• integral_set< IntegralRangeT, RangeSetT > operator∼ () constReturn an integral set consisting of the complement of this set.

• integral_set< IntegralRangeT, RangeSetT > & invert ()Invert this set and return it.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 274: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 273

• integral_set< IntegralRangeT, RangeSetT > & clear ()Empty this set and return it.

• integral_set< IntegralRangeT, RangeSetT > & fill ()Make this set maximal and return it.

• bool operator<= (integral_type number) constReturn true, if this integral set is empty or its only element is number.

• bool operator<= (const range_type &range) constReturn true, if all numbers contained in this integral set are also contained in range.

• bool operator<= (const rangeset_type &rangeset) constReturn true, if all numbers contained in this integral set are also contained in rangeset.

• bool operator>= (integral_type number) constReturn true, if this integral set contains number.

• bool operator>= (const range_type &range) constReturn true, if this integral set contains at least the same numbers as range.

• bool operator>= (const rangeset_type &rangeset) constReturn true, if this integral set contains at least the same numbers as rangeset.

• bool operator== (integral_type number) constReturn true, if this integral set’s only element is number.

• bool operator== (const range_type &range) constReturn true, if this integral set contains exactly the same numbers as range.

• bool operator== (const rangeset_type &rangeset) constReturn true, if this integral set contains exactly the same numbers as rangeset.

• bool operator!= (integral_type number) constReturn true, if number is no element of this integral set or if it is not its only element.

• bool operator!= (const range_type &range) constReturn true, if this integral set does not contain exactly the same numbers as range.

• bool operator!= (const rangeset_type &rangeset) constReturn true, if this integral set does not contain exactly the same numbers as rangeset.

Static Public Member Functions

• static integral_set< IntegralRangeT, RangeSetT > emptyset ()Return the empty integral set.

• static integral_set< IntegralRangeT, RangeSetT > fullset ()Return the maximal integral set.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 275: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 274

Static Public Attributes

• static const integral_type MinVal = range_type::MinValMinimal value an integral_set<IntegralRangeT, RangeSetT> object is allowed to contain.

• static const integral_type MaxVal = range_type::MaxValMaximal value an integral_set<IntegralRangeT, RangeSetT> object is allowed to contain.

Private Types

• typedef local::xIntegral_set< IntegralRangeT, RangeSetT > implImplementation.

12.50.2 Member Typedef Documentation

12.50.2.1 template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>> typedeflocal::xIntegral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT>::impl [private]

Implementation.

Reimplemented from stm::local::xIntegral_set< IntegralRangeT, RangeSetT >.

Definition at line 676 of file divaids.hpp.

12.50.2.2 template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>> typedefIntegralRangeT stm::integral_set< IntegralRangeT, RangeSetT >::range_type

Template type parameter IntegralRangeT.

Reimplemented from stm::local::xIntegral_set< IntegralRangeT, RangeSetT >.

Definition at line 680 of file divaids.hpp.

12.50.2.3 template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>> typedefRangeSetT stm::integral_set< IntegralRangeT, RangeSetT >::rangeset_type

Template type parameter RangeSetT.

Reimplemented from stm::local::xIntegral_set< IntegralRangeT, RangeSetT >.

Definition at line 683 of file divaids.hpp.

12.50.2.4 template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>> typedefIntegralRangeT::integral_type stm::integral_set< IntegralRangeT, RangeSetT >::integral_type

The type of the integral type objects held by this integral_set.

Reimplemented from stm::local::xIntegral_set< IntegralRangeT, RangeSetT >.

Definition at line 686 of file divaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 276: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 275

12.50.2.5 template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>> typedefimpl::integral_iterator stm::integral_set< IntegralRangeT, RangeSetT >::iterator

Reimplemented from stm::local::xIntegral_set< IntegralRangeT, RangeSetT >.

Definition at line 693 of file divaids.hpp.

12.50.2.6 template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>> typedefstd::reverse_iterator<iterator> stm::integral_set< IntegralRangeT, RangeSetT >::reverse_iterator

Reimplemented from stm::local::xIntegral_set< IntegralRangeT, RangeSetT >.

Definition at line 694 of file divaids.hpp.

12.50.2.7 template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>> typedefiterator stm::integral_set< IntegralRangeT, RangeSetT >::const_iterator

Reimplemented from stm::local::xIntegral_set< IntegralRangeT, RangeSetT >.

Definition at line 695 of file divaids.hpp.

12.50.2.8 template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>> typedefreverse_iterator stm::integral_set< IntegralRangeT, RangeSetT >::const_reverse_iterator

Reimplemented from stm::local::xIntegral_set< IntegralRangeT, RangeSetT >.

Definition at line 696 of file divaids.hpp.

12.50.2.9 template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>> typedefimpl::const_iterator stm::integral_set< IntegralRangeT, RangeSetT >::range_iterator

Definition at line 709 of file divaids.hpp.

12.50.2.10 template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>> type-def impl::const_reverse_iterator stm::integral_set< IntegralRangeT, RangeSetT >::reverse_-range_iterator

Definition at line 710 of file divaids.hpp.

12.50.3 Constructor & Destructor Documentation

12.50.3.1 template<class IntegralRangeT, class RangeSetT> stm::integral_set< IntegralRangeT,RangeSetT >::integral_set (integral_type number) [inline]

Constructs an integral set containing number.

Definition at line 1930 of file divxaids.hpp.

12.50.3.2 template<class IntegralRangeT, class RangeSetT> stm::integral_set< IntegralRangeT,RangeSetT >::integral_set (const range_type & range) [inline]

Constructs an integral set object containing the integral range.

Definition at line 1940 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 277: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 276

12.50.3.3 template<class IntegralRangeT, class RangeSetT> stm::integral_set< IntegralRangeT,RangeSetT >::integral_set (const rangeset_type & rangeset = rangeset_type ()) [inline]

Constructs an integral set object wrapping the integral range set rangeset.

Definition at line 1950 of file divxaids.hpp.

12.50.4 Member Function Documentation

12.50.4.1 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT >::iterator stm::integral_set< IntegralRangeT, RangeSetT >::begin () const[inline]

Definition at line 2055 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::empty(), stm::integral_set< Integral-RangeT, RangeSetT >::end(), and stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::mkIterator().

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::operator!=(), stm::integral_set< Inte-gralRangeT, RangeSetT >::operator<=(), stm::integral_set< IntegralRangeT, RangeSetT >::operator==(),and stm::integral_set< IntegralRangeT, RangeSetT >::rend().

12.50.4.2 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT >::iterator stm::integral_set< IntegralRangeT, RangeSetT >::end () const [inline]

Definition at line 2067 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::MaxVal, and stm::local::xIntegral_set< In-tegralRangeT, RangeSetT >::mkIterator().

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::begin(), stm::integral_set< Integral-RangeT, RangeSetT >::rbegin(), and stm::integral_set< IntegralRangeT, RangeSetT >::rfind().

12.50.4.3 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT >::reverse_iterator stm::integral_set< IntegralRangeT, RangeSetT >::rbegin () const[inline]

Definition at line 2076 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::end().

12.50.4.4 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT >::reverse_iterator stm::integral_set< IntegralRangeT, RangeSetT >::rend () const[inline]

Definition at line 2085 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::begin().

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::rfind().

12.50.4.5 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT >::range_iterator stm::integral_set< IntegralRangeT, RangeSetT >::beginrange ()const [inline]

Definition at line 2094 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 278: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 277

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::full(), stm::integral_set< Inte-gralRangeT, RangeSetT >::hull(), stm::integral_set< IntegralRangeT, RangeSetT >::operator!=(),stm::operator<<(), and stm::integral_set< IntegralRangeT, RangeSetT >::operator==().

12.50.4.6 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT >::range_iterator stm::integral_set< IntegralRangeT, RangeSetT >::endrange () const[inline]

Definition at line 2103 of file divxaids.hpp.

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::rfindrange().

12.50.4.7 template<class IntegralRangeT, class RangeSetT> integral_set< Integral-RangeT, RangeSetT >::reverse_range_iterator stm::integral_set< IntegralRangeT, RangeSetT>::rbeginrange () const [inline]

Definition at line 2112 of file divxaids.hpp.

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::hull().

12.50.4.8 template<class IntegralRangeT, class RangeSetT> integral_set< Integral-RangeT, RangeSetT >::reverse_range_iterator stm::integral_set< IntegralRangeT, RangeSetT>::rendrange () const [inline]

Definition at line 2121 of file divxaids.hpp.

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::rfindrange().

12.50.4.9 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::operator= (integral_type num-ber) [inline]

Assigns the integral set specified consisting of number to this integral_set object and returns a reference toit.

Definition at line 1966 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::swap().

12.50.4.10 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::operator= (const range_type &range) [inline]

Assigns the integral set specified consisting of range to this integral_set object and returns a reference to it.

Definition at line 1977 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::swap().

12.50.4.11 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::operator= (const rangeset_type& rangeset) [inline]

Assigns the integral set specified consisting of rangeset to this integral_set object and returns a referenceto it.

Definition at line 1988 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 279: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 278

References stm::integral_set< IntegralRangeT, RangeSetT >::swap().

12.50.4.12 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::assign (const std::string & val-SpecList, size_t fmtFlags = 0) [inline]

Assigns the integral set specified by valSpecList to this integral_set object and returns a reference to it.

The integral set to assign is specified by valSpecList, which consists of a list of comma separated valSpecitems as described for integral_range::assign(). If the fmtFlags bit integral_range::EmptyAllowed is set,also an empty or only whitespace containing valSpecList is allowed representing the empty integral_set.

Definition at line 1999 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::match().

12.50.4.13 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::assign (const char ∗ valSpecList,size_t fmtFlags = 0) [inline]

Assigns the integral set specified by valSpecList to this integral_set object and returns a reference to it.

The integral set to assign is specified by valSpecList, which consists of a list of comma separated valSpecitems as described for integral_range::assign(). If the fmtFlags bit integral_range::EmptyAllowed is set,also an empty or only whitespace containing valSpecList is allowed representing the empty integral_set.

Definition at line 2011 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::match().

12.50.4.14 template<class IntegralRangeT, class RangeSetT> void stm::integral_set< Integral-RangeT, RangeSetT >::swap (integral_set< IntegralRangeT, RangeSetT > & other) throw ()[inline]

Swap the contents of this set and the other integral set.

Definition at line 2022 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::size_, and stm::smartptr::swap().

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::invert(), stm::integral_set< Integral-RangeT, RangeSetT >::operator &=(), and stm::integral_set< IntegralRangeT, RangeSetT >::operator=().

12.50.4.15 template<class IntegralRangeT, class RangeSetT> void stm::integral_set< Integral-RangeT, RangeSetT >::swap (rangeset_type & rangeset) throw () [inline]

Swap the contents of this set and rangeset.

Definition at line 2034 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::adjust(), and stm::smartptr::swap().

12.50.4.16 template<class IntegralRangeT, class RangeSetT> stm::integral_set< IntegralRangeT,RangeSetT >::operator const RangeSetT & () const [inline]

Returns a constant reference to the range set representing this integral set.

Definition at line 2046 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 280: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 279

12.50.4.17 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT >::iterator stm::integral_set< IntegralRangeT, RangeSetT >::find (integral_type num-ber) const [inline]

If number is contained in this set, return an iterator to it, else return end().

Definition at line 2130 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::mkIterator(), andstm::local::xIntegral_set< IntegralRangeT, RangeSetT >::rangeOf().

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::rfind().

12.50.4.18 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT >::reverse_iterator stm::integral_set< IntegralRangeT, RangeSetT >::rfind (integral_-type number) const [inline]

If number is contained in this set, return a reverse iterator to it, else return rend().

Definition at line 2139 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::end(), stm::integral_set< IntegralRangeT,RangeSetT >::find(), and stm::integral_set< IntegralRangeT, RangeSetT >::rend().

12.50.4.19 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT >::range_iterator stm::integral_set< IntegralRangeT, RangeSetT >::findrange(integral_type number) const [inline]

Return the range iterator pointing to the integral range number belongs to, or endrange(), if there is no suchrange.

Definition at line 2149 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::rangeOf().

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::rfindrange().

12.50.4.20 template<class IntegralRangeT, class RangeSetT> integral_set< Integral-RangeT, RangeSetT >::reverse_range_iterator stm::integral_set< IntegralRangeT, RangeSetT>::rfindrange (integral_type number) const [inline]

Return the reverse range iterator pointing to the integral range number belongs to, or rendrange(), if thereis no such range.

Definition at line 2158 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::endrange(), stm::integral_set< Integral-RangeT, RangeSetT >::findrange(), and stm::integral_set< IntegralRangeT, RangeSetT >::rendrange().

12.50.4.21 template<class IntegralRangeT, class RangeSetT> size_t stm::integral_set< Integral-RangeT, RangeSetT >::size () const [inline]

Return the number of numbers contained in this set.

This may be 0, although the set is not empty in cases where sizeof (integral_type) == sizeof (size_t).

Definition at line 2166 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::size_.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 281: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 280

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::operator!=(), stm::integral_set< Inte-gralRangeT, RangeSetT >::operator-=(), stm::operator<<(), stm::integral_set< IntegralRangeT, Range-SetT >::operator<=(), and stm::integral_set< IntegralRangeT, RangeSetT >::operator==().

12.50.4.22 template<class IntegralRangeT, class RangeSetT> size_t stm::integral_set< Integral-RangeT, RangeSetT >::ranges () const [inline]

Return the number integral ranges building this set.

Definition at line 2173 of file divxaids.hpp.

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::full(), stm::integral_set< Integral-RangeT, RangeSetT >::hull(), stm::integral_set< IntegralRangeT, RangeSetT >::operator!=(), andstm::integral_set< IntegralRangeT, RangeSetT >::operator==().

12.50.4.23 template<class IntegralRangeT, class RangeSetT> bool stm::integral_set< Integral-RangeT, RangeSetT >::empty () const [inline]

Returns true, if this set is empty.

Definition at line 2180 of file divxaids.hpp.

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::begin(), and stm::integral_set< Integral-RangeT, RangeSetT >::operator<=().

12.50.4.24 template<class IntegralRangeT, class RangeSetT> bool stm::integral_set< Integral-RangeT, RangeSetT >::full () const [inline]

Returns true, if this set is maximal.

Definition at line 2187 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::beginrange(), and stm::integral_set< Inte-gralRangeT, RangeSetT >::ranges().

12.50.4.25 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT >::range_type stm::integral_set< IntegralRangeT, RangeSetT >::hull () const[inline]

Returns the least range containing all numbers of this set.

Definition at line 2196 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::beginrange(), stm::integral_set< Integral-RangeT, RangeSetT >::ranges(), and stm::integral_set< IntegralRangeT, RangeSetT >::rbeginrange().

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::max(), and stm::integral_set< Integral-RangeT, RangeSetT >::min().

12.50.4.26 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT >::integral_type stm::integral_set< IntegralRangeT, RangeSetT >::min () const[inline]

Returns the least value contained in this set, or MaxVal if the set is empty.

Definition at line 2208 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::hull().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 282: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 281

12.50.4.27 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT >::integral_type stm::integral_set< IntegralRangeT, RangeSetT >::max () const[inline]

Returns the largest value contained in this set, or MaxVal if the set is empty.

Definition at line 2217 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::hull().

12.50.4.28 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > stm::integral_set< IntegralRangeT, RangeSetT >::operator| (integral_type number)const [inline]

Return an integral set consisting of the numbers contained in this set and of number.

Definition at line 2226 of file divxaids.hpp.

12.50.4.29 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > stm::integral_set< IntegralRangeT, RangeSetT >::operator| (const range_type &range) const [inline]

Return an integral set consisting of the numbers contained in this set and in range.

Definition at line 2235 of file divxaids.hpp.

12.50.4.30 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > stm::integral_set< IntegralRangeT, RangeSetT >::operator| (const rangeset_type &rangeset) const [inline]

Return an integral set consisting of the numbers contained in this set and in rangeset.

Definition at line 2244 of file divxaids.hpp.

12.50.4.31 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::operator|= (integral_type num-ber) [inline]

Add number to this set and return a reference to it.

Definition at line 2253 of file divxaids.hpp.

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::operator &=(), stm::integral_set< Inte-gralRangeT, RangeSetT >::operator-=(), stm::integral_set< IntegralRangeT, RangeSetT >::operator∧=(),and stm::integral_set< IntegralRangeT, RangeSetT >::operator|=().

12.50.4.32 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::operator|= (const range_type& range) [inline]

Add the numbers contained in range to this set and return a reference to it.

Definition at line 2261 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::adjust(), stm::integral_set< In-tegralRangeT, RangeSetT >::MaxVal, stm::integral_set< IntegralRangeT, RangeSetT >::MinVal,stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::rangeOf(), stm::local::xIntegral_set< Integral-

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 283: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 282

RangeT, RangeSetT >::size_, StmDebugAidsVerify, and stm::local::xIntegral_set< IntegralRangeT,RangeSetT >::verify().

12.50.4.33 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::operator|= (const rangeset_type& rangeset) [inline]

Add the numbers contained in rangeset to this set and return a reference to it.

Definition at line 2302 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::operator|=().

12.50.4.34 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > stm::integral_set< IntegralRangeT, RangeSetT >::operator & (integral_type number)const [inline]

Return the empty integral set, if number is not contained in this set, else an integral set consisting ofnumber.

Definition at line 2319 of file divxaids.hpp.

12.50.4.35 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > stm::integral_set< IntegralRangeT, RangeSetT >::operator & (const range_type &range) const [inline]

Return an integral set consisting of the numbers contained in both this set and in range.

Definition at line 2328 of file divxaids.hpp.

12.50.4.36 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > stm::integral_set< IntegralRangeT, RangeSetT >::operator & (const rangeset_type& rangeset) const [inline]

Return an integral set consisting of the numbers contained in both this set and in rangeset.

Definition at line 2337 of file divxaids.hpp.

12.50.4.37 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::operator &= (integral_typenumber) [inline]

Remove all numbers unequal to number from this set and return a reference to it.

Definition at line 2346 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::clear(), and stm::integral_set< Integral-RangeT, RangeSetT >::operator|=().

12.50.4.38 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::operator &= (const range_type& range) [inline]

Remove all numbers not contained in range from this set and return a reference to it.

Definition at line 2356 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 284: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 283

References stm::integral_set< IntegralRangeT, RangeSetT >::clear(), stm::local::xIntegral_set< Inte-gralRangeT, RangeSetT >::rangeOf(), stm::integral_set< IntegralRangeT, RangeSetT >::swap(), andstm::local::xIntegral_set< IntegralRangeT, RangeSetT >::verify().

12.50.4.39 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::operator &= (const rangeset_-type & rangeset) [inline]

Remove all numbers not contained in rangeset from this set and return a reference to it.

Definition at line 2382 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::clear(), stm::integral_set< IntegralRangeT,RangeSetT >::swap(), and stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::verify().

12.50.4.40 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > stm::integral_set< IntegralRangeT, RangeSetT >::operator- (integral_type number)const [inline]

Return an integral set consisting of the numbers contained in this set except number.

Definition at line 2404 of file divxaids.hpp.

12.50.4.41 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > stm::integral_set< IntegralRangeT, RangeSetT >::operator- (const range_type &range) const [inline]

Return an integral set consisting of the numbers contained in this set except those contained also in range.

Definition at line 2413 of file divxaids.hpp.

12.50.4.42 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > stm::integral_set< IntegralRangeT, RangeSetT >::operator- (const rangeset_type &rangeset) const [inline]

Return an integral set consisting of the numbers contained in this set except those contained also in rangeset.

Definition at line 2421 of file divxaids.hpp.

12.50.4.43 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::operator-= (integral_type num-ber) [inline]

Remove number from this set and return a reference to it.

Definition at line 2430 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::adjust(), stm::integral_set<IntegralRangeT, RangeSetT >::MaxVal, stm::integral_set< IntegralRangeT, RangeSetT >::MinVal,stm::integral_set< IntegralRangeT, RangeSetT >::operator|=(), stm::local::xIntegral_set< Inte-gralRangeT, RangeSetT >::rangeOf(), stm::integral_set< IntegralRangeT, RangeSetT >::size(),stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::size_, and stm::local::xIntegral_set< Inte-gralRangeT, RangeSetT >::verify().

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::operator-=(), and stm::integral_set< In-tegralRangeT, RangeSetT >::operator∧=().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 285: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 284

12.50.4.44 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::operator-= (const range_type& range) [inline]

Remove all numbers contained in range from this set and return a reference to it.

Definition at line 2469 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::adjust(), stm::integral_set< Integral-RangeT, RangeSetT >::operator|=(), stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::rangeOf(),stm::integral_set< IntegralRangeT, RangeSetT >::size(), stm::local::xIntegral_set< IntegralRangeT,RangeSetT >::size_, StmDebugAidsVerify, and stm::local::xIntegral_set< IntegralRangeT, RangeSetT>::verify().

12.50.4.45 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::operator-= (const rangeset_type& rangeset) [inline]

Remove all numbers contained in rangeset from this set and return a reference to it.

Definition at line 2527 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::operator-=().

12.50.4.46 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > stm::integral_set< IntegralRangeT, RangeSetT >::operator∧ (integral_type number)const [inline]

Return an integral set consisting of the symmetrical difference of this set and number.

Definition at line 2544 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::operator>=().

12.50.4.47 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > stm::integral_set< IntegralRangeT, RangeSetT >::operator∧ (const range_type &range) const [inline]

Return an integral set consisting of the symmetrical difference of this set and range.

Definition at line 2553 of file divxaids.hpp.

12.50.4.48 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > stm::integral_set< IntegralRangeT, RangeSetT >::operator∧ (const rangeset_type &rangeset) const [inline]

Return an integral set consisting of the symmetrical difference of this set and rangeset.

Definition at line 2564 of file divxaids.hpp.

12.50.4.49 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::operator∧= (integral_type num-ber) [inline]

Make this set the symmetrical difference of number and the other set and return a reference to it.

Definition at line 2575 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 286: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 285

References stm::integral_set< IntegralRangeT, RangeSetT >::operator-=(), stm::integral_set< In-tegralRangeT, RangeSetT >::operator>=(), and stm::integral_set< IntegralRangeT, RangeSetT>::operator|=().

12.50.4.50 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::operator∧= (const range_type& range) [inline]

Make this set the symmetrical difference of range and the other set and return a reference to it.

Definition at line 2584 of file divxaids.hpp.

12.50.4.51 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::operator∧= (const rangeset_-type & rangeset) [inline]

Make this set the symmetrical difference of this set and rangeset and return a reference to it.

Definition at line 2595 of file divxaids.hpp.

12.50.4.52 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > stm::integral_set< IntegralRangeT, RangeSetT >::operator∼ () const [inline]

Return an integral set consisting of the complement of this set.

Definition at line 2606 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::invert().

12.50.4.53 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::invert () [inline]

Invert this set and return it.

Definition at line 2614 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::clear(), stm::integral_set< Integral-RangeT, RangeSetT >::MinVal, stm::integral_set< IntegralRangeT, RangeSetT >::swap(), andstm::local::xIntegral_set< IntegralRangeT, RangeSetT >::verify().

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::operator∼().

12.50.4.54 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > stm::integral_set< IntegralRangeT, RangeSetT >::emptyset () [inline,static]

Return the empty integral set.

Definition at line 2638 of file divxaids.hpp.

12.50.4.55 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::clear () [inline]

Empty this set and return it.

Definition at line 2647 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 287: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 286

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::size_.

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::fill(), stm::integral_set< IntegralRangeT,RangeSetT >::invert(), and stm::integral_set< IntegralRangeT, RangeSetT >::operator &=().

12.50.4.56 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > stm::integral_set< IntegralRangeT, RangeSetT >::fullset () [inline, static]

Return the maximal integral set.

Definition at line 2658 of file divxaids.hpp.

12.50.4.57 template<class IntegralRangeT, class RangeSetT> integral_set< IntegralRangeT,RangeSetT > & stm::integral_set< IntegralRangeT, RangeSetT >::fill () [inline]

Make this set maximal and return it.

Definition at line 2667 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::clear(), stm::integral_set< Integral-RangeT, RangeSetT >::MaxVal, stm::integral_set< IntegralRangeT, RangeSetT >::MinVal, andstm::local::xIntegral_set< IntegralRangeT, RangeSetT >::size_.

12.50.4.58 template<class IntegralRangeT, class RangeSetT> bool stm::integral_set< Integral-RangeT, RangeSetT >::operator<= (integral_type number) const [inline]

Return true, if this integral set is empty or its only element is number.

Definition at line 2679 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::begin(), stm::integral_set< IntegralRangeT,RangeSetT >::empty(), and stm::integral_set< IntegralRangeT, RangeSetT >::size().

12.50.4.59 template<class IntegralRangeT, class RangeSetT> bool stm::integral_set< Integral-RangeT, RangeSetT >::operator<= (const range_type & range) const [inline]

Return true, if all numbers contained in this integral set are also contained in range.

Definition at line 2687 of file divxaids.hpp.

12.50.4.60 template<class IntegralRangeT, class RangeSetT> bool stm::integral_set< Integral-RangeT, RangeSetT >::operator<= (const rangeset_type & rangeset) const [inline]

Return true, if all numbers contained in this integral set are also contained in rangeset.

Definition at line 2695 of file divxaids.hpp.

12.50.4.61 template<class IntegralRangeT, class RangeSetT> bool stm::integral_set< Integral-RangeT, RangeSetT >::operator>= (integral_type number) const [inline]

Return true, if this integral set contains number.

Definition at line 2703 of file divxaids.hpp.

References stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::rangeOf().

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::operator∧(), and stm::integral_set< In-tegralRangeT, RangeSetT >::operator∧=().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 288: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.50 stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference 287

12.50.4.62 template<class IntegralRangeT, class RangeSetT> bool stm::integral_set< Integral-RangeT, RangeSetT >::operator>= (const range_type & range) const [inline]

Return true, if this integral set contains at least the same numbers as range.

Definition at line 2711 of file divxaids.hpp.

12.50.4.63 template<class IntegralRangeT, class RangeSetT> bool stm::integral_set< Integral-RangeT, RangeSetT >::operator>= (const rangeset_type & rangeset) const [inline]

Return true, if this integral set contains at least the same numbers as rangeset.

Definition at line 2719 of file divxaids.hpp.

12.50.4.64 template<class IntegralRangeT, class RangeSetT> bool stm::integral_set< Integral-RangeT, RangeSetT >::operator== (integral_type number) const [inline]

Return true, if this integral set’s only element is number.

Definition at line 2727 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::begin(), and stm::integral_set< Integral-RangeT, RangeSetT >::size().

12.50.4.65 template<class IntegralRangeT, class RangeSetT> bool stm::integral_set< Integral-RangeT, RangeSetT >::operator== (const range_type & range) const [inline]

Return true, if this integral set contains exactly the same numbers as range.

Definition at line 2735 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::beginrange(), and stm::integral_set< Inte-gralRangeT, RangeSetT >::ranges().

12.50.4.66 template<class IntegralRangeT, class RangeSetT> bool stm::integral_set< Integral-RangeT, RangeSetT >::operator== (const rangeset_type & rangeset) const [inline]

Return true, if this integral set contains exactly the same numbers as rangeset.

Definition at line 2743 of file divxaids.hpp.

12.50.4.67 template<class IntegralRangeT, class RangeSetT> bool stm::integral_set< Integral-RangeT, RangeSetT >::operator!= (integral_type number) const [inline]

Return true, if number is no element of this integral set or if it is not its only element.

Definition at line 2751 of file divxaids.hpp.

References stm::integral_set< IntegralRangeT, RangeSetT >::begin(), and stm::integral_set< Integral-RangeT, RangeSetT >::size().

12.50.4.68 template<class IntegralRangeT, class RangeSetT> bool stm::integral_set< Integral-RangeT, RangeSetT >::operator!= (const range_type & range) const [inline]

Return true, if this integral set does not contain exactly the same numbers as range.

Definition at line 2759 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 289: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.51 stm::smartptr::local::item_descr< T, Compare, false, false > Struct Template Reference288

References stm::integral_set< IntegralRangeT, RangeSetT >::beginrange(), and stm::integral_set< Inte-gralRangeT, RangeSetT >::ranges().

12.50.4.69 template<class IntegralRangeT, class RangeSetT> bool stm::integral_set< Integral-RangeT, RangeSetT >::operator!= (const rangeset_type & rangeset) const [inline]

Return true, if this integral set does not contain exactly the same numbers as rangeset.

Definition at line 2767 of file divxaids.hpp.

12.50.5 Member Data Documentation

12.50.5.1 template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>> constintegral_type stm::integral_set< IntegralRangeT, RangeSetT >::MinVal = range_type::MinVal[static]

Minimal value an integral_set<IntegralRangeT, RangeSetT> object is allowed to contain.

Reimplemented from stm::local::xIntegral_set< IntegralRangeT, RangeSetT >.

Definition at line 720 of file divaids.hpp.

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::fill(), stm::integral_set< IntegralRangeT,RangeSetT >::invert(), stm::integral_set< IntegralRangeT, RangeSetT >::operator-=(), and stm::integral_-set< IntegralRangeT, RangeSetT >::operator|=().

12.50.5.2 template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>> constintegral_type stm::integral_set< IntegralRangeT, RangeSetT >::MaxVal = range_type::MaxVal[static]

Maximal value an integral_set<IntegralRangeT, RangeSetT> object is allowed to contain.

Reimplemented from stm::local::xIntegral_set< IntegralRangeT, RangeSetT >.

Definition at line 724 of file divaids.hpp.

Referenced by stm::integral_set< IntegralRangeT, RangeSetT >::end(), stm::integral_set< Integral-RangeT, RangeSetT >::fill(), stm::integral_set< IntegralRangeT, RangeSetT >::operator-=(), andstm::integral_set< IntegralRangeT, RangeSetT >::operator|=().

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

• divaids.hpp• divxaids.hpp

12.51 stm::smartptr::local::item_descr< T, Compare, false, false > Struct Tem-plate Reference

#include <smartptrxaids.hpp>

Collaboration diagram for stm::smartptr::local::item_descr< T, Compare, false, false >:

stm::smartptr::local::item_descr< T, Compare, false, false >

T

ptr

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 290: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.51 stm::smartptr::local::item_descr< T, Compare, false, false > Struct Template Reference289

12.51.1 Detailed Description

template<class T, class Compare> struct stm::smartptr::local::item_descr< T, Compare, false, false>

Definition at line 1007 of file smartptrxaids.hpp.

Public Member Functions

• item_descr (const T ∗ptr=NULL, refcount_type=0)• stm::dword id () const• refcount_type getrefcount () const• void increfcount ()• bool decrefcount ()

Public Attributes

• const T ∗ ptr

12.51.2 Constructor & Destructor Documentation

12.51.2.1 template<class T, class Compare> stm::smartptr::local::item_descr< T, Compare, false,false >::item_descr (const T ∗ ptr = NULL, refcount_type = 0) [inline]

Definition at line 1010 of file smartptrxaids.hpp.

12.51.3 Member Function Documentation

12.51.3.1 template<class T, class Compare> stm::dword stm::smartptr::local::item_descr< T,Compare, false, false >::id () const [inline]

Definition at line 1018 of file smartptrxaids.hpp.

12.51.3.2 template<class T, class Compare> refcount_type stm::smartptr::local::item_descr< T,Compare, false, false >::getrefcount () const [inline]

Definition at line 1024 of file smartptrxaids.hpp.

12.51.3.3 template<class T, class Compare> void stm::smartptr::local::item_descr< T, Compare,false, false >::increfcount () [inline]

Definition at line 1030 of file smartptrxaids.hpp.

12.51.3.4 template<class T, class Compare> bool stm::smartptr::local::item_descr< T, Compare,false, false >::decrefcount () [inline]

Definition at line 1036 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 291: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.52 stm::smartptr::local::item_descr< T, Compare, false, true > Struct Template Reference 290

12.51.4 Member Data Documentation

12.51.4.1 template<class T, class Compare> const T∗ stm::smartptr::local::item_descr< T, Com-pare, false, false >::ptr

Definition at line 1041 of file smartptrxaids.hpp.

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

• smartptrxaids.hpp

12.52 stm::smartptr::local::item_descr< T, Compare, false, true > Struct Tem-plate Reference

#include <smartptrxaids.hpp>

Collaboration diagram for stm::smartptr::local::item_descr< T, Compare, false, true >:

stm::smartptr::local::item_descr< T, Compare, false, true >

stm::smartptr::local::item_type< T, Compare >

item

T

ptr

12.52.1 Detailed Description

template<class T, class Compare> struct stm::smartptr::local::item_descr< T, Compare, false, true>

Definition at line 412 of file smartptrxaids.hpp.

Public Types

• typedef item_type< T, Compare > item_t

Public Member Functions

• item_descr (const item_t &item=item_t(), refcount_type=0)• const T ∗ ptr () const• stm::dword id () const• refcount_type getrefcount () const• void increfcount ()• bool decrefcount ()

Public Attributes

• item_t item

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 292: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.52 stm::smartptr::local::item_descr< T, Compare, false, true > Struct Template Reference 291

12.52.2 Member Typedef Documentation

12.52.2.1 template<class T, class Compare> typedef item_type<T, Compare>stm::smartptr::local::item_descr< T, Compare, false, true >::item_t

Definition at line 414 of file smartptrxaids.hpp.

12.52.3 Constructor & Destructor Documentation

12.52.3.1 template<class T, class Compare> stm::smartptr::local::item_descr< T, Compare, false,true >::item_descr (const item_t & item = item_t (), refcount_type = 0) [inline]

Definition at line 417 of file smartptrxaids.hpp.

12.52.4 Member Function Documentation

12.52.4.1 template<class T, class Compare> const T∗ stm::smartptr::local::item_descr< T, Com-pare, false, true >::ptr () const [inline]

Definition at line 425 of file smartptrxaids.hpp.

12.52.4.2 template<class T, class Compare> stm::dword stm::smartptr::local::item_descr< T,Compare, false, true >::id () const [inline]

Definition at line 431 of file smartptrxaids.hpp.

12.52.4.3 template<class T, class Compare> refcount_type stm::smartptr::local::item_descr< T,Compare, false, true >::getrefcount () const [inline]

Definition at line 437 of file smartptrxaids.hpp.

12.52.4.4 template<class T, class Compare> void stm::smartptr::local::item_descr< T, Compare,false, true >::increfcount () [inline]

Definition at line 443 of file smartptrxaids.hpp.

12.52.4.5 template<class T, class Compare> bool stm::smartptr::local::item_descr< T, Compare,false, true >::decrefcount () [inline]

Definition at line 449 of file smartptrxaids.hpp.

12.52.5 Member Data Documentation

12.52.5.1 template<class T, class Compare> item_t stm::smartptr::local::item_descr< T, Com-pare, false, true >::item

Definition at line 454 of file smartptrxaids.hpp.

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

• smartptrxaids.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 293: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.53 stm::smartptr::local::item_descr< T, Compare, true, false > Struct Template Reference 292

12.53 stm::smartptr::local::item_descr< T, Compare, true, false > Struct Tem-plate Reference

#include <smartptrxaids.hpp>

Collaboration diagram for stm::smartptr::local::item_descr< T, Compare, true, false >:

stm::smartptr::local::item_descr< T, Compare, true, false >

T

ptr

12.53.1 Detailed Description

template<class T, class Compare> struct stm::smartptr::local::item_descr< T, Compare, true, false>

Definition at line 959 of file smartptrxaids.hpp.

Public Member Functions

• item_descr (const T ∗ptr=NULL, refcount_type refcount=0)• stm::dword id () const• refcount_type getrefcount () const• void increfcount ()• bool decrefcount ()

Public Attributes

• const T ∗ ptr• refcount_type refcount

12.53.2 Constructor & Destructor Documentation

12.53.2.1 template<class T, class Compare> stm::smartptr::local::item_descr< T, Compare, true,false >::item_descr (const T ∗ ptr = NULL, refcount_type refcount = 0) [inline]

Definition at line 962 of file smartptrxaids.hpp.

12.53.3 Member Function Documentation

12.53.3.1 template<class T, class Compare> stm::dword stm::smartptr::local::item_descr< T,Compare, true, false >::id () const [inline]

Definition at line 971 of file smartptrxaids.hpp.

12.53.3.2 template<class T, class Compare> refcount_type stm::smartptr::local::item_descr< T,Compare, true, false >::getrefcount () const [inline]

Definition at line 977 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 294: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.54 stm::smartptr::local::item_descr< T, Compare, true, true > Struct Template Reference 293

12.53.3.3 template<class T, class Compare> void stm::smartptr::local::item_descr< T, Compare,true, false >::increfcount () [inline]

Definition at line 983 of file smartptrxaids.hpp.

12.53.3.4 template<class T, class Compare> bool stm::smartptr::local::item_descr< T, Compare,true, false >::decrefcount () [inline]

Definition at line 990 of file smartptrxaids.hpp.

References StmDebugAidsVerify.

12.53.4 Member Data Documentation

12.53.4.1 template<class T, class Compare> const T∗ stm::smartptr::local::item_descr< T, Com-pare, true, false >::ptr

Definition at line 996 of file smartptrxaids.hpp.

12.53.4.2 template<class T, class Compare> refcount_type stm::smartptr::local::item_descr< T,Compare, true, false >::refcount

Definition at line 997 of file smartptrxaids.hpp.

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

• smartptrxaids.hpp

12.54 stm::smartptr::local::item_descr< T, Compare, true, true > Struct Tem-plate Reference

#include <smartptrxaids.hpp>

Collaboration diagram for stm::smartptr::local::item_descr< T, Compare, true, true >:

stm::smartptr::local::item_descr< T, Compare, true, true >

stm::smartptr::local::item_type< T, Compare >

item

T

ptr

12.54.1 Detailed Description

template<class T, class Compare> struct stm::smartptr::local::item_descr< T, Compare, true, true>

Definition at line 356 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 295: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.54 stm::smartptr::local::item_descr< T, Compare, true, true > Struct Template Reference 294

Public Types

• typedef item_type< T, Compare > item_t

Public Member Functions

• item_descr (const item_t &item=item_t(), refcount_type refcount=0)• const T ∗ ptr () const• stm::dword id () const• refcount_type getrefcount () const• void increfcount ()• bool decrefcount ()

Public Attributes

• item_t item• refcount_type refcount

12.54.2 Member Typedef Documentation

12.54.2.1 template<class T, class Compare> typedef item_type<T, Compare>stm::smartptr::local::item_descr< T, Compare, true, true >::item_t

Definition at line 358 of file smartptrxaids.hpp.

12.54.3 Constructor & Destructor Documentation

12.54.3.1 template<class T, class Compare> stm::smartptr::local::item_descr< T, Compare, true,true >::item_descr (const item_t & item = item_t (), refcount_type refcount = 0) [inline]

Definition at line 361 of file smartptrxaids.hpp.

12.54.4 Member Function Documentation

12.54.4.1 template<class T, class Compare> const T∗ stm::smartptr::local::item_descr< T, Com-pare, true, true >::ptr () const [inline]

Definition at line 370 of file smartptrxaids.hpp.

12.54.4.2 template<class T, class Compare> stm::dword stm::smartptr::local::item_descr< T,Compare, true, true >::id () const [inline]

Definition at line 376 of file smartptrxaids.hpp.

12.54.4.3 template<class T, class Compare> refcount_type stm::smartptr::local::item_descr< T,Compare, true, true >::getrefcount () const [inline]

Definition at line 382 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 296: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.55 stm::smartptr::local::item_type< T, Compare > Struct Template Reference 295

12.54.4.4 template<class T, class Compare> void stm::smartptr::local::item_descr< T, Compare,true, true >::increfcount () [inline]

Definition at line 388 of file smartptrxaids.hpp.

12.54.4.5 template<class T, class Compare> bool stm::smartptr::local::item_descr< T, Compare,true, true >::decrefcount () [inline]

Definition at line 395 of file smartptrxaids.hpp.

References StmDebugAidsVerify.

12.54.5 Member Data Documentation

12.54.5.1 template<class T, class Compare> item_t stm::smartptr::local::item_descr< T, Com-pare, true, true >::item

Definition at line 401 of file smartptrxaids.hpp.

12.54.5.2 template<class T, class Compare> refcount_type stm::smartptr::local::item_descr< T,Compare, true, true >::refcount

Definition at line 402 of file smartptrxaids.hpp.

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

• smartptrxaids.hpp

12.55 stm::smartptr::local::item_type< T, Compare > Struct Template Reference

#include <smartptrxaids.hpp>

Collaboration diagram for stm::smartptr::local::item_type< T, Compare >:

stm::smartptr::local::item_type< T, Compare >

T

ptr

12.55.1 Detailed Description

template<class T, class Compare> struct stm::smartptr::local::item_type< T, Compare >

Definition at line 321 of file smartptrxaids.hpp.

Public Member Functions

• item_type (const T ∗ptr=NULL, stm::dword id=0)• bool operator< (const item_type &other) const

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 297: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.56 stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy > Class TemplateReference 296

Public Attributes

• const T ∗ ptr• stm::dword id

12.55.2 Constructor & Destructor Documentation

12.55.2.1 template<class T, class Compare> stm::smartptr::local::item_type< T, Compare>::item_type (const T ∗ ptr = NULL, stm::dword id = 0) [inline]

Definition at line 323 of file smartptrxaids.hpp.

12.55.3 Member Function Documentation

12.55.3.1 template<class T, class Compare> bool stm::smartptr::local::item_type< T, Compare>::operator< (const item_type< T, Compare > & other) const [inline]

Definition at line 328 of file smartptrxaids.hpp.

References stm::smartptr::local::item_type< T, Compare >::id, and stm::smartptr::local::item_type< T,Compare >::ptr.

12.55.4 Member Data Documentation

12.55.4.1 template<class T, class Compare> const T∗ stm::smartptr::local::item_type< T, Com-pare >::ptr

Definition at line 335 of file smartptrxaids.hpp.

Referenced by stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::load(), stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::mapped_-ptr(), stm::smartptr::local::comp_value_id< T, Compare >::operator()(), stm::smartptr::local::item_type<T, Compare >::operator<(), and stm::smartptr::local::repository_type< T, Compare, Allocator, ref-counted, multirange >::remove().

12.55.4.2 template<class T, class Compare> stm::dword stm::smartptr::local::item_type< T,Compare >::id

Definition at line 336 of file smartptrxaids.hpp.

Referenced by stm::smartptr::local::comp_id< T, Compare >::operator()(), stm::smartptr::local::comp_-value_id< T, Compare >::operator()(), stm::smartptr::local::item_type< T, Compare >::operator<(), andstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >::remove().

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

• smartptrxaids.hpp

12.56 stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy > ClassTemplate Reference

#include <loggeraids.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 298: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.56 stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy > Class TemplateReference 297

Inheritance diagram for stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >:

stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >

stm::logger_base

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

std::basic_ostringstream< std::string ::value_type, std::string ::traits_type, std::string ::allocator_type >

stm::local::basic_xlogger< std::string, lockingPolicy >

stm::local::basic_xlogger< StringT, lockingPolicy >< std::string, lockingPolicy >

< std::string, stdIndent, lineLength, lockingPolicy >

Collaboration diagram for stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >:

stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >

stm::logger_base

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

std::basic_ostringstream< std::string ::value_type, std::string ::traits_type, std::string ::allocator_type >

stm::local::basic_xlogger< std::string, lockingPolicy >

stm::local::basic_xlogger< StringT, lockingPolicy >::Stream output

stm::local::basic_xlogger< StringT, lockingPolicy >output

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmtfmt

< std::string, lockingPolicy >

< std::string, stdIndent, lineLength, lockingPolicy >

12.56.1 Detailed Description

template<word stdIndent = 4, word lineLength = 79, bool errorConsole = false, word lockingPolicy= logger_base::NoLocking> class stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy>

Class template to manage formatted logging on a std::string based output stream (normally a log file)and optionally on a second std::string based stream (normally a console, by default std::cout, if templateparameter errorConsole is false (the default), or else std::cerr).

Since logger is indirectly derived from a std::ostringstream, data insertion into logger objects is easilypossible. On construction the base class std::ostingstream object is default constructed and then initializedto use uppercase letters for hexadecimal numbers and to use right adjusted fixed point notation for floatingpoint numbers. If formatted printig to a stream is done, the default value for indentation is given by thetemplate parameter stdIndent and the default line length is given by the template parameter lineLength.

According to the template parameter lockingPolicy either no locking is possible (logger_base::NoLocking)or an unnamed mutex (see Abstract Data Type StmMutex) for logger_base::ProcessLocking or anamed mutex (see Abstract Data Type StmNamedMutex) for logger_base::SystemLocking is used bystm::logger::locker to perform locking across all threads of the calling process or across all threads of thesystem, respectively. The mutex name for system-wide locking has to be supplied to the constructor ofstm::logger.

Examples:

filesystest.cpp, smartptrtest.cpp, and sudoku.cpp.

Definition at line 414 of file loggeraids.hpp.

Public Member Functions

• logger (bool enableStream=false, std::ostream &stream=errorConsole?std::cerr:std::cout, conststd::string &mutexName=std::string())

Construct a logger object to print on stream (default the standard console), if enableStream is true (defaultfalse).

• logger (bool enableStream, const std::string &mutexName)Construct a logger object to print on stream (default the standard console), if enableStream is true.

• logger (std::ostream &stream, const std::string &mutexName)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 299: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.57 stm::logger_base Class Reference 298

Construct a logger object to print on stream.

• logger (std::ostream &stream, bool enableConsole=false, const std::string &mutex-Name=std::string())

Construct a logger object to print on stream and on the standard console, if enableConsole is true (defaultfalse).

• logger (std::ostream &stream, std::ostream &console, const std::string &mutexName=std::string())Construct a logger object to print on stream and on console.

• void setConsole ()Configure this logger object to print on the standard console.

12.56.2 Constructor & Destructor Documentation

12.56.2.1 template<word stdIndent, word lineLength, bool errorConsole, word lockingPolicy>stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >::logger (bool enableStream= false, std::ostream & stream = errorConsole ? std::cerr : std::cout, conststd::string & mutexName = std::string ()) [inline]

Construct a logger object to print on stream (default the standard console), if enableStream is true (defaultfalse).

mutexName is the name of the mutex used for system-wide locking, if applicable. If for system-widelocking mutexName is empty, the standard name ’StmLoggerLock’ is used.

Definition at line 1132 of file loggerxaids.hpp.

References stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::setStream().

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

• loggeraids.hpp• loggerxaids.hpp

12.57 stm::logger_base Class Reference

#include <loggeraids.hpp>

Inheritance diagram for stm::logger_base:

stm::logger_base stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >

stm::basic_logger< std::wstring, stdIndent, lineLength, lockingPolicy >

< std::string, stdIndent, lineLength, lockingPolicy >

< std::wstring, stdIndent, lineLength, lockingPolicy >

stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >

stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >

12.57.1 Detailed Description

Common base class of all basic_logger class template specializations.

Definition at line 103 of file loggeraids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 300: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.58 stm::tools::LvdsPacket< ContextT > Class Template Reference 299

Public Types

• enum LockingPolicy {

NoLocking = 0,

ProcessLocking = 1,

SystemLocking = 2 }Locking policy for objects of derived classes.

12.57.2 Member Enumeration Documentation

12.57.2.1 enum stm::logger_base::LockingPolicy

Locking policy for objects of derived classes.

Enumerator:

NoLocking No locking possible.

ProcessLocking Locking all threads of the calling process.

SystemLocking Locking all threads in the system.

Reimplemented in stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >, stm::basic_-logger< std::string, stdIndent, lineLength, lockingPolicy >, and stm::basic_logger< std::wstring, stdIn-dent, lineLength, lockingPolicy >.

Definition at line 107 of file loggeraids.hpp.

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

• loggeraids.hpp

12.58 stm::tools::LvdsPacket< ContextT > Class Template Reference

#include <lvdspacket.hpp>

Inheritance diagram for stm::tools::LvdsPacket< ContextT >:

stm::tools::LvdsPacket< ContextT >

stm::tools::local::xLvdsPacket< ContextT >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 301: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.58 stm::tools::LvdsPacket< ContextT > Class Template Reference 300

Collaboration diagram for stm::tools::LvdsPacket< ContextT >:

stm::tools::LvdsPacket< ContextT >

stm::tools::local::xLvdsPacket< ContextT >

stm::tools::BinMessage< ContextT >

parent_

stm::byte_iterator_range

body_

stm::tools::BaseMessage< ContextT >

stm::tools::local::xBaseMessage< ContextT >

body_

stm::tools::local::xBinMessage< ContextT >

message_

stm::tools::MsgTimestamp

timestamp_

stm::tools::local::xMsgTimestamp

12.58.1 Detailed Description

template<class ContextT> class stm::tools::LvdsPacket< ContextT >

LVDS packet contained in a binary message.

Definition at line 106 of file lvdspacket.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 302: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.58 stm::tools::LvdsPacket< ContextT > Class Template Reference 301

Public Types

• enum {

NoError = 0x00000000,

LengthError = 0x00000001,

PriorityError = 0x00000002,

PayloadLengthError = 0x00000004,

DataTypeError = 0x00000008 }Bitwise orable error status flags.

• enum {

MaxPayloadLength = 40,

MaxAntennas = 12 }LVDS packet constants.

• typedef ContextT context_typeContext type of the messages to be scanned.

• typedef BinMessage< ContextT > parent_typeType of the binary message wrapping this DspMessage.

Public Member Functions

• LvdsPacket (const parent_type &parent)Construct a LvdsPacket object contained in the binary message parent.

• virtual ∼LvdsPacket ()Virtual destructor to allow polymorphic class hierarchies.

• dword status () constReturns the status of the LVDS packet.

• word lvdsSubslot () constReturns the LVDS subslot field of the LVDS packet.

• word ubrId () constReturns the UbrID field of the LVDS packet.

• byte priority () constReturns the Priority field of the LVDS packet.

• word antennaFlags () constReturns the antenna flags field of the LVDS packet.

• byte dataType () constReturns the data type field of the LVDS packet.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 303: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.58 stm::tools::LvdsPacket< ContextT > Class Template Reference 302

• bool frq () constReturns the carrier frequency extension bit of the LVDS packet.

• bool rsv () constReturns the reserved bit of the LVDS packet.

• const byte_iterator_range & body () constReturns the byte range consisting of the packet’s payload excluding the other fields.

• byte fcs () constReturns the FCS field of the LVDS packet.

• const parent_type & parent ()Returns the packet’s parent.

Private Types

• typedef local::xLvdsPacket< ContextT > LvdsPacketImplImplementation.

Classes

• struct AichLVDS packet Aich values.

• struct DataTypeLVDS packet data type values.

• struct PriorityLVDS packet priority values.

12.58.2 Member Typedef Documentation

12.58.2.1 template<class ContextT> typedef local::xLvdsPacket<ContextT>stm::tools::LvdsPacket< ContextT >::LvdsPacketImpl [private]

Implementation.

Definition at line 110 of file lvdspacket.hpp.

12.58.2.2 template<class ContextT> typedef ContextT stm::tools::LvdsPacket< ContextT>::context_type

Context type of the messages to be scanned.

Reimplemented from stm::tools::local::xLvdsPacket< ContextT >.

Definition at line 114 of file lvdspacket.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 304: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.58 stm::tools::LvdsPacket< ContextT > Class Template Reference 303

12.58.2.3 template<class ContextT> typedef BinMessage<ContextT> stm::tools::LvdsPacket<ContextT >::parent_type

Type of the binary message wrapping this DspMessage.

Reimplemented from stm::tools::local::xLvdsPacket< ContextT >.

Definition at line 117 of file lvdspacket.hpp.

12.58.3 Member Enumeration Documentation

12.58.3.1 template<class ContextT> anonymous enum

Bitwise orable error status flags.

Enumerator:

NoErrorLengthErrorPriorityErrorPayloadLengthErrorDataTypeError

Definition at line 120 of file lvdspacket.hpp.

12.58.3.2 template<class ContextT> anonymous enum

LVDS packet constants.

Enumerator:

MaxPayloadLengthMaxAntennas

Definition at line 130 of file lvdspacket.hpp.

12.58.4 Constructor & Destructor Documentation

12.58.4.1 template<class ContextT> stm::tools::LvdsPacket< ContextT >::LvdsPacket (constparent_type & parent) [inline]

Construct a LvdsPacket object contained in the binary message parent.

Definition at line 217 of file xlvdspacket.hpp.

References stm::tools::LvdsPacket< ContextT >::Priority::Aich, stm::tools::LvdsPacket<ContextT >::DataType::Aich, stm::tools::LvdsPacket< ContextT >::Priority::Amplitude,stm::tools::LvdsPacket< ContextT >::DataType::Amplitude, stm::tools::LvdsPacket< Con-textT >::Priority::AmplNoOffs, stm::tools::LvdsPacket< ContextT >::DataType::AmplNoOffs,stm::tools::local::xLvdsPacket< ContextT >::antennaFlags_, stm::tools::BinMessage< ContextT>::body(), stm::tools::LvdsPacket< ContextT >::body(), stm::tools::local::xLvdsPacket< Con-textT >::body_, stm::tools::local::xLvdsPacket< ContextT >::dataType_, stm::tools::LvdsPacket<ContextT >::DataTypeError, stm::tools::LvdsPacket< ContextT >::Priority::DlTpc0,stm::tools::LvdsPacket< ContextT >::DataType::DlTpc0, stm::tools::LvdsPacket< ContextT

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 305: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.58 stm::tools::LvdsPacket< ContextT > Class Template Reference 304

>::Priority::DlTpc1, stm::tools::LvdsPacket< ContextT >::DataType::DlTpc1, stm::tools::LvdsPacket<ContextT >::Priority::DtxCtrl, stm::tools::LvdsPacket< ContextT >::DataType::DtxCtrl,stm::tools::local::xLvdsPacket< ContextT >::fcs_, stm::tools::local::xLvdsPacket< ContextT >::frq_-, stm::tools::local::xLvdsPacket< ContextT >::HeaderSize, stm::tools::LvdsPacket< ContextT>::DataType::Hho, stm::tools::LvdsPacket< ContextT >::LengthError, stm::tools::local::xLvdsPacket<ContextT >::lvdsSubslot_, stm::tools::LvdsPacket< ContextT >::MaxPayloadLength,stm::tools::LvdsPacket< ContextT >::NoError, stm::tools::local::xLvdsPacket< ContextT >::parent_,stm::tools::LvdsPacket< ContextT >::PayloadLengthError, stm::tools::local::xLvdsPacket< ContextT>::priority_, stm::tools::LvdsPacket< ContextT >::PriorityError, stm::tools::LvdsPacket< ContextT>::DataType::Rsv, stm::tools::local::xLvdsPacket< ContextT >::rsv_, stm::tools::local::xLvdsPacket<ContextT >::status_, stm::tools::local::xLvdsPacket< ContextT >::ubrId_, stm::tools::LvdsPacket<ContextT >::Priority::Ue, stm::tools::LvdsPacket< ContextT >::DataType::Ue, stm::tools::LvdsPacket<ContextT >::DataType::UeCm0, stm::tools::LvdsPacket< ContextT >::DataType::UeCm0Scr, andstm::tools::LvdsPacket< ContextT >::DataType::UeCm1.

12.58.4.2 template<class ContextT> stm::tools::LvdsPacket< ContextT >::∼LvdsPacket ()[inline, virtual]

Virtual destructor to allow polymorphic class hierarchies.

Definition at line 342 of file xlvdspacket.hpp.

12.58.5 Member Function Documentation

12.58.5.1 template<class ContextT> dword stm::tools::LvdsPacket< ContextT >::status () const[inline]

Returns the status of the LVDS packet.

Definition at line 346 of file xlvdspacket.hpp.

References stm::tools::local::xLvdsPacket< ContextT >::status_.

12.58.5.2 template<class ContextT> word stm::tools::LvdsPacket< ContextT >::lvdsSubslot ()const [inline]

Returns the LVDS subslot field of the LVDS packet.

Definition at line 353 of file xlvdspacket.hpp.

References stm::tools::local::xLvdsPacket< ContextT >::lvdsSubslot_.

12.58.5.3 template<class ContextT> word stm::tools::LvdsPacket< ContextT >::ubrId () const[inline]

Returns the UbrID field of the LVDS packet.

Definition at line 360 of file xlvdspacket.hpp.

References stm::tools::local::xLvdsPacket< ContextT >::ubrId_.

12.58.5.4 template<class ContextT> byte stm::tools::LvdsPacket< ContextT >::priority () const[inline]

Returns the Priority field of the LVDS packet.

Definition at line 367 of file xlvdspacket.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 306: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.58 stm::tools::LvdsPacket< ContextT > Class Template Reference 305

References stm::tools::local::xLvdsPacket< ContextT >::priority_.

12.58.5.5 template<class ContextT> word stm::tools::LvdsPacket< ContextT >::antennaFlags ()const [inline]

Returns the antenna flags field of the LVDS packet.

Definition at line 374 of file xlvdspacket.hpp.

References stm::tools::local::xLvdsPacket< ContextT >::antennaFlags_.

12.58.5.6 template<class ContextT> byte stm::tools::LvdsPacket< ContextT >::dataType () const[inline]

Returns the data type field of the LVDS packet.

Definition at line 381 of file xlvdspacket.hpp.

References stm::tools::local::xLvdsPacket< ContextT >::dataType_.

12.58.5.7 template<class ContextT> bool stm::tools::LvdsPacket< ContextT >::frq () const[inline]

Returns the carrier frequency extension bit of the LVDS packet.

Definition at line 388 of file xlvdspacket.hpp.

References stm::tools::local::xLvdsPacket< ContextT >::frq_.

12.58.5.8 template<class ContextT> bool stm::tools::LvdsPacket< ContextT >::rsv () const[inline]

Returns the reserved bit of the LVDS packet.

Definition at line 395 of file xlvdspacket.hpp.

References stm::tools::local::xLvdsPacket< ContextT >::rsv_.

12.58.5.9 template<class ContextT> const byte_iterator_range & stm::tools::LvdsPacket< Con-textT >::body () const [inline]

Returns the byte range consisting of the packet’s payload excluding the other fields.

Definition at line 402 of file xlvdspacket.hpp.

References stm::tools::local::xLvdsPacket< ContextT >::body_.

Referenced by stm::tools::LvdsPacket< ContextT >::LvdsPacket().

12.58.5.10 template<class ContextT> byte stm::tools::LvdsPacket< ContextT >::fcs () const[inline]

Returns the FCS field of the LVDS packet.

Definition at line 409 of file xlvdspacket.hpp.

References stm::tools::local::xLvdsPacket< ContextT >::fcs_.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 307: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.59 stm::tools::LvdsPacket< ContextT >::Aich Struct Reference 306

12.58.5.11 template<class ContextT> const LvdsPacket< ContextT >::parent_type &stm::tools::LvdsPacket< ContextT >::parent () [inline]

Returns the packet’s parent.

Definition at line 416 of file xlvdspacket.hpp.

References stm::tools::local::xLvdsPacket< ContextT >::parent_.

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

• lvdspacket.hpp• xlvdspacket.hpp

12.59 stm::tools::LvdsPacket< ContextT >::Aich Struct Reference

#include <lvdspacket.hpp>

12.59.1 Detailed Description

template<class ContextT> struct stm::tools::LvdsPacket< ContextT >::Aich

LVDS packet Aich values.

Definition at line 172 of file lvdspacket.hpp.

Public Types

• enum {

Zero = 0,

Plus = 2,

Minus = 3,

PayloadLength = 4 }

12.59.2 Member Enumeration Documentation

12.59.2.1 template<class ContextT> anonymous enum

Enumerator:

ZeroPlusMinusPayloadLength

Definition at line 174 of file lvdspacket.hpp.

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

• lvdspacket.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 308: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.60 stm::tools::LvdsPacket< ContextT >::DataType Struct Reference 307

12.60 stm::tools::LvdsPacket< ContextT >::DataType Struct Reference

#include <lvdspacket.hpp>

12.60.1 Detailed Description

template<class ContextT> struct stm::tools::LvdsPacket< ContextT >::DataType

LVDS packet data type values.

Definition at line 137 of file lvdspacket.hpp.

Public Types

• enum {

DlTpc0 = 0,

DlTpc1 = 1,

Aich = 2,

AmplNoOffs = 3,

Amplitude = 4,

Ue = 5,

UeCm0 = 6,

UeCm0Scr = 7,

UeCm1 = 8,

Rsv = 9,

DtxCtrl = 10,

Hho = 12 }

12.60.2 Member Enumeration Documentation

12.60.2.1 template<class ContextT> anonymous enum

Enumerator:

DlTpc0DlTpc1AichAmplNoOffsAmplitudeUeUeCm0UeCm0ScrUeCm1RsvDtxCtrl

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 309: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.61 stm::tools::LvdsPacket< ContextT >::Priority Struct Reference 308

Hho

Definition at line 139 of file lvdspacket.hpp.

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

• lvdspacket.hpp

12.61 stm::tools::LvdsPacket< ContextT >::Priority Struct Reference

#include <lvdspacket.hpp>

12.61.1 Detailed Description

template<class ContextT> struct stm::tools::LvdsPacket< ContextT >::Priority

LVDS packet priority values.

Definition at line 157 of file lvdspacket.hpp.

Public Types

• enum {

DlTpc0 = 0,

DlTpc1 = 0,

Aich = 2,

AmplNoOffs = 1,

Amplitude = 1,

Ue = 3,

DtxCtrl = 3 }

12.61.2 Member Enumeration Documentation

12.61.2.1 template<class ContextT> anonymous enum

Enumerator:

DlTpc0DlTpc1AichAmplNoOffsAmplitudeUeDtxCtrl

Definition at line 159 of file lvdspacket.hpp.

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

• lvdspacket.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 310: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.62 stm::smartptr::MakeMultirange< Policy > Struct Template Reference 309

12.62 stm::smartptr::MakeMultirange< Policy > Struct Template Reference

#include <smartptraids.hpp>

12.62.1 Detailed Description

template<class Policy> struct stm::smartptr::MakeMultirange< Policy >

Class template serving as wrapper of template parameter Policy to ensure the multirange policy property.

Definition at line 174 of file smartptraids.hpp.

Public Types

• typedef Policy::surjective surjectiveSurjective policy type being the same as that of the tempalte type prameter Policy.

• typedef boost::mpl::true_ multirangeMultirange policy type being boost::mpl::true_.

12.62.2 Member Typedef Documentation

12.62.2.1 template<class Policy> typedef Policy::surjective stm::smartptr::MakeMultirange<Policy >::surjective

Surjective policy type being the same as that of the tempalte type prameter Policy.

Definition at line 178 of file smartptraids.hpp.

12.62.2.2 template<class Policy> typedef boost::mpl::true_ stm::smartptr::MakeMultirange<Policy >::multirange

Multirange policy type being boost::mpl::true_.

Definition at line 181 of file smartptraids.hpp.

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

• smartptraids.hpp

12.63 stm::smartptr::MakeSurjective< Policy > Struct Template Reference

#include <smartptraids.hpp>

12.63.1 Detailed Description

template<class Policy> struct stm::smartptr::MakeSurjective< Policy >

Class template serving as wrapper of template parameter Policy to ensure the surjective policy property.

Definition at line 159 of file smartptraids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 311: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.64 stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange > ClassTemplate Reference 310

Public Types

• typedef boost::mpl::true_ surjectiveSurjective policy type being boost::mpl::true_.

• typedef Policy::multirange multirangeMultirange policy type being the same as that of the tempalte type prameter Policy.

12.63.2 Member Typedef Documentation

12.63.2.1 template<class Policy> typedef boost::mpl::true_ stm::smartptr::MakeSurjective< Pol-icy >::surjective

Surjective policy type being boost::mpl::true_.

Definition at line 162 of file smartptraids.hpp.

12.63.2.2 template<class Policy> typedef Policy::multirange stm::smartptr::MakeSurjective<Policy >::multirange

Multirange policy type being the same as that of the tempalte type prameter Policy.

Definition at line 166 of file smartptraids.hpp.

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

• smartptraids.hpp

12.64 stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted,multirange > Class Template Reference

#include <smartptrxaids.hpp>

Inheritance diagram for stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>:

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, Policy::surjective::value, Policy::multirange::value >< T, Compare, Allocator, Policy::surjective::value, Policy::multirange::value >

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, stm::smartptr::MakeMultirange< Policy >::surjective::value, stm::smartptr::MakeMultirange< Policy >::multirange::value >< T, Compare, Allocator, stm::smartptr::MakeMultirange< Policy >::surjective::value, stm::smartptr::MakeMultirange< Policy >::multirange::value >

stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >

stm::smartptr::injective_set< T, Compare, Allocator, stm::smartptr::MakeMultirange< Policy > >::accessor

stm::smartptr::injective_ptr< T, Compare, Allocator, stm::smartptr::MakeMultirange< Policy > >

< T, Compare, Allocator, stm::smartptr::MakeMultirange< Policy > >

Collaboration diagram for stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multi-range >:

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >

T

ptr_

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 312: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.64 stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange > ClassTemplate Reference 311

12.64.1 Detailed Description

template<class T, class Compare, class Allocator, bool refcounted, bool multirange> classstm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >

stm::smartptr::injective_ptr implementation base class template.

Definition at line 199 of file smartptrxaids.hpp.

Public Types

• typedef mapped_ptr< T, Compare, Allocator, refcounted, multirange > mapped_ptr_impl• typedef repository_type< T, Compare, Allocator, refcounted, multirange > repository

Public Member Functions

• mapped_ptr (rangeid_type rangeid=rangeid_type())• mapped_ptr (const mapped_ptr_impl &other)• mapped_ptr (const T &value, rangeid_type rangeid=rangeid_type(), bool store=true)• ∼mapped_ptr ()• void swap (mapped_ptr< T, Compare, Allocator, refcounted, multirange > &other)• stm::dword id () const• refcount_type getrefcount () const• template<class ArchiveT>

void save (ArchiveT &ar, const unsigned int version) const• template<class ArchiveT>

void load (ArchiveT &ar, const unsigned int version)• template<class ArchiveT>

void serialize (ArchiveT &ar, const unsigned int version)

Static Public Member Functions

• static void init ()

Public Attributes

• const T ∗ ptr_• stm::dword id_

Static Public Attributes

• static repository_type< T, Compare, Allocator, refcounted, multirange > ∗ repository_ = NULLThe static repository holding all accessors of all ranges.

Friends

• class boost::serialization::access

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 313: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.64 stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange > ClassTemplate Reference 312

Classes

• class rangeid_type

12.64.2 Member Typedef Documentation

12.64.2.1 template<class T, class Compare, class Allocator, bool refcounted, boolmultirange> typedef mapped_ptr< T, Compare, Allocator, refcounted, multirange >stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::mapped_-ptr_impl

Reimplemented in stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >, andstm::smartptr::injective_ptr< T, Compare, Allocator, stm::smartptr::MakeMultirange< Policy > >.

Definition at line 211 of file smartptrxaids.hpp.

12.64.2.2 template<class T, class Compare, class Allocator, bool refcounted, boolmultirange> typedef repository_type< T, Compare, Allocator, refcounted, multirange >stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::repository

Reimplemented in stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >, andstm::smartptr::injective_ptr< T, Compare, Allocator, stm::smartptr::MakeMultirange< Policy > >.

Definition at line 220 of file smartptrxaids.hpp.

12.64.3 Constructor & Destructor Documentation

12.64.3.1 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::mapped_ptr(rangeid_type rangeid = rangeid_type ()) [inline]

Definition at line 1303 of file smartptrxaids.hpp.

12.64.3.2 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::mapped_ptr(const mapped_ptr_impl & other) [inline]

Definition at line 1327 of file smartptrxaids.hpp.

References StmDebugAidsVerify.

12.64.3.3 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::mapped_ptr(const T & value, rangeid_type rangeid = rangeid_type (), bool store = true) [inline]

Definition at line 1356 of file smartptrxaids.hpp.

References stm::smartptr::local::item_type< T, Compare >::ptr.

12.64.3.4 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::∼mapped_-ptr () [inline]

Definition at line 1443 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 314: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.64 stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange > ClassTemplate Reference 313

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::getrefcount(), stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::id_, stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::ptr_,stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::repository_, andStmDebugAidsVerify.

12.64.4 Member Function Documentation

12.64.4.1 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>void stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::swap(mapped_ptr< T, Compare, Allocator, refcounted, multirange > & other) [inline]

Definition at line 1471 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::id_-, stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::ptr_, andstm::smartptr::swap().

Referenced by stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::load().

12.64.4.2 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>stm::dword stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::id () const [inline]

Definition at line 248 of file smartptrxaids.hpp.

12.64.4.3 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>refcount_type stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::getrefcount () const [inline]

Definition at line 1491 of file smartptrxaids.hpp.

References StmDebugAidsVerify.

Referenced by stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::∼mapped_-ptr(), and stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::∼mapped_ptr().

12.64.4.4 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>void stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::init ()[inline, static]

Definition at line 1521 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::repository_, and StmDebugAidsVerify.

12.64.4.5 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>template<class ArchiveT> void stm::smartptr::local::mapped_ptr< T, Compare, Allocator, ref-counted, multirange >::save (ArchiveT & ar, const unsigned int version) const [inline]

Definition at line 1545 of file smartptrxaids.hpp.

12.64.4.6 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>template<class ArchiveT> void stm::smartptr::local::mapped_ptr< T, Compare, Allocator, ref-

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 315: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.64 stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange > ClassTemplate Reference 314

counted, multirange >::load (ArchiveT & ar, const unsigned int version) [inline]

Definition at line 1570 of file smartptrxaids.hpp.

References stm::smartptr::local::item_type< T, Compare >::ptr, and stm::swap().

12.64.4.7 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>template<class ArchiveT> void stm::smartptr::local::mapped_ptr< T, Compare, Allocator, ref-counted, multirange >::serialize (ArchiveT & ar, const unsigned int version) [inline]

Definition at line 1655 of file smartptrxaids.hpp.

12.64.5 Friends And Related Function Documentation

12.64.5.1 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>friend class boost::serialization::access [friend]

Reimplemented in stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >, andstm::smartptr::injective_ptr< T, Compare, Allocator, stm::smartptr::MakeMultirange< Policy > >.

Definition at line 201 of file smartptrxaids.hpp.

12.64.6 Member Data Documentation

12.64.6.1 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>const T∗ stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::ptr_

Definition at line 266 of file smartptrxaids.hpp.

Referenced by stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false>::load(), stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::save(),stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::swap(),stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::swap(),stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::∼mapped_ptr(), andstm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::∼mapped_ptr().

12.64.6.2 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>stm::dword stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::id_

Definition at line 267 of file smartptrxaids.hpp.

Referenced by stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::swap(), and stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::∼mapped_ptr().

12.64.6.3 template<class T, class Compare, class Allocator, bool refcounted, boolmultirange> repository_type< T, Compare, Allocator, refcounted, multirange > ∗stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::repository_= NULL [inline, static]

The static repository holding all accessors of all ranges.

Definition at line 270 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 316: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.65 stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::rangeid_type Class Reference 315

Referenced by stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false>::init(), stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::init(), stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::load(),stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::∼mapped_ptr(), andstm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::∼mapped_ptr().

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

• smartptrxaids.hpp

12.65 stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted,multirange >::rangeid_type Class Reference

#include <smartptrxaids.hpp>

12.65.1 Detailed Description

template<class T, class Compare, class Allocator, bool refcounted, bool multirange> classstm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::rangeid_-type

Definition at line 222 of file smartptrxaids.hpp.

Public Member Functions

• rangeid_type (stm::dword id=0)• operator stm::dword () const

Private Attributes

• stm::dword id_

12.65.2 Constructor & Destructor Documentation

12.65.2.1 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::rangeid_-type::rangeid_type (stm::dword id = 0) [inline, explicit]

Definition at line 225 of file smartptrxaids.hpp.

12.65.3 Member Function Documentation

12.65.3.1 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::rangeid_-type::operator stm::dword () const [inline]

Definition at line 229 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::rangeid_type::id_.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 317: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.66 stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false > ClassTemplate Reference 316

12.65.4 Member Data Documentation

12.65.4.1 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>stm::dword stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::rangeid_type::id_ [private]

Definition at line 235 of file smartptrxaids.hpp.

Referenced by stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::rangeid_-type::operator stm::dword(), and stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted,multirange >::rangeid_type::operator stm::dword().

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

• smartptrxaids.hpp

12.66 stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted,false > Class Template Reference

#include <smartptrxaids.hpp>

Collaboration diagram for stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >:

stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >

stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false > repository_

T

ptr_

12.66.1 Detailed Description

template<class T, class Compare, class Allocator, bool refcounted> classstm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >

Definition at line 879 of file smartptrxaids.hpp.

Public Types

• typedef mapped_ptr< T, Compare, Allocator, refcounted, false > mapped_ptr_impl• typedef repository_type< T, Compare, Allocator, refcounted, false > repository

Public Member Functions

• mapped_ptr (rangeid_type rangeid=rangeid_type())• mapped_ptr (const mapped_ptr_impl &other)• mapped_ptr (const T &value, rangeid_type rangeid=rangeid_type(), bool store=true)• ∼mapped_ptr ()• void swap (mapped_ptr< T, Compare, Allocator, refcounted, false > &other)• stm::dword id () const• refcount_type getrefcount () const• template<class ArchiveT>

void save (ArchiveT &ar, const unsigned int version) const

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 318: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.66 stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false > ClassTemplate Reference 317

• template<class ArchiveT>

void load (ArchiveT &ar, const unsigned int version)• template<class ArchiveT>

void serialize (ArchiveT &ar, const unsigned int version)

Static Public Member Functions

• static void init ()

Public Attributes

• const T ∗ ptr_

Static Public Attributes

• static repository_type< T, Compare, Allocator, refcounted, false > ∗ repository_ = NULLThe static repository holding all accessors of all ranges.

Friends

• class boost::serialization::access

Classes

• class rangeid_type

12.66.2 Member Typedef Documentation

12.66.2.1 template<class T, class Compare, class Allocator, bool refcounted> typedef mapped_-ptr< T, Compare, Allocator, refcounted, false > stm::smartptr::local::mapped_ptr< T, Compare,Allocator, refcounted, false >::mapped_ptr_impl

Definition at line 891 of file smartptrxaids.hpp.

12.66.2.2 template<class T, class Compare, class Allocator, bool refcounted> typedef repository_-type< T, Compare, Allocator, refcounted, false > stm::smartptr::local::mapped_ptr< T, Compare,Allocator, refcounted, false >::repository

Definition at line 900 of file smartptrxaids.hpp.

12.66.3 Constructor & Destructor Documentation

12.66.3.1 template<class T, class Compare, class Allocator, bool refcounted>stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::mapped_ptr(rangeid_type rangeid = rangeid_type ()) [inline]

Definition at line 1690 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 319: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.66 stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false > ClassTemplate Reference 318

12.66.3.2 template<class T, class Compare, class Allocator, bool refcounted>stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::mapped_ptr(const mapped_ptr_impl & other) [inline]

Definition at line 1712 of file smartptrxaids.hpp.

References StmDebugAidsVerify.

12.66.3.3 template<class T, class Compare, class Allocator, bool refcounted>stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::mapped_ptr(const T & value, rangeid_type rangeid = rangeid_type (), bool store = true) [inline]

Definition at line 1738 of file smartptrxaids.hpp.

12.66.3.4 template<class T, class Compare, class Allocator, bool refcounted>stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::∼mapped_ptr ()[inline]

Definition at line 1794 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::getrefcount(), stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::ptr_, stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::repository_,and StmDebugAidsVerify.

12.66.4 Member Function Documentation

12.66.4.1 template<class T, class Compare, class Allocator, bool refcounted> voidstm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::swap (mapped_-ptr< T, Compare, Allocator, refcounted, false > & other) [inline]

Definition at line 1821 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::ptr_, andstm::smartptr::swap().

12.66.4.2 template<class T, class Compare, class Allocator, bool refcounted> stm::dwordstm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::id () const[inline]

Definition at line 928 of file smartptrxaids.hpp.

12.66.4.3 template<class T, class Compare, class Allocator, bool refcounted> refcount_typestm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::getrefcount () const[inline]

Definition at line 1839 of file smartptrxaids.hpp.

References StmDebugAidsVerify.

12.66.4.4 template<class T, class Compare, class Allocator, bool refcounted> voidstm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::init () [inline,static]

Definition at line 1868 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 320: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.66 stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false > ClassTemplate Reference 319

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::repository_.

12.66.4.5 template<class T, class Compare, class Allocator, bool refcounted> template<classArchiveT> void stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false>::save (ArchiveT & ar, const unsigned int version) const [inline]

Definition at line 1888 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::ptr_.

12.66.4.6 template<class T, class Compare, class Allocator, bool refcounted> template<classArchiveT> void stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false>::load (ArchiveT & ar, const unsigned int version) [inline]

Definition at line 1912 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::ptr_-, stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::repository_, andstm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >::swap().

12.66.4.7 template<class T, class Compare, class Allocator, bool refcounted> template<classArchiveT> void stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false>::serialize (ArchiveT & ar, const unsigned int version) [inline]

Definition at line 1976 of file smartptrxaids.hpp.

12.66.5 Friends And Related Function Documentation

12.66.5.1 template<class T, class Compare, class Allocator, bool refcounted> friend classboost::serialization::access [friend]

Definition at line 881 of file smartptrxaids.hpp.

12.66.6 Member Data Documentation

12.66.6.1 template<class T, class Compare, class Allocator, bool refcounted> const T∗stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::ptr_

Definition at line 946 of file smartptrxaids.hpp.

12.66.6.2 template<class T, class Compare, class Allocator, bool refcounted> repository_type< T,Compare, Allocator, refcounted, false > ∗ stm::smartptr::local::mapped_ptr< T, Compare, Alloca-tor, refcounted, false >::repository_ = NULL [inline, static]

The static repository holding all accessors of all ranges.

Definition at line 949 of file smartptrxaids.hpp.

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

• smartptrxaids.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 321: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.67 stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false>::rangeid_type Class Reference 320

12.67 stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted,false >::rangeid_type Class Reference

#include <smartptrxaids.hpp>

12.67.1 Detailed Description

template<class T, class Compare, class Allocator, bool refcounted> classstm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::rangeid_type

Definition at line 902 of file smartptrxaids.hpp.

Public Member Functions

• rangeid_type (stm::dword id=0)• operator stm::dword () const

Private Attributes

• stm::dword id_

12.67.2 Constructor & Destructor Documentation

12.67.2.1 template<class T, class Compare, class Allocator, bool refcounted>stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::rangeid_-type::rangeid_type (stm::dword id = 0) [inline, explicit]

Definition at line 905 of file smartptrxaids.hpp.

12.67.3 Member Function Documentation

12.67.3.1 template<class T, class Compare, class Allocator, bool refcounted>stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::rangeid_-type::operator stm::dword () const [inline]

Definition at line 909 of file smartptrxaids.hpp.

References stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::rangeid_type::id_.

12.67.4 Member Data Documentation

12.67.4.1 template<class T, class Compare, class Allocator, bool refcounted> stm::dwordstm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::rangeid_type::id_[private]

Definition at line 915 of file smartptrxaids.hpp.

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

• smartptrxaids.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 322: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.68 stm::tools::McBspMessage< ContextT > Class Template Reference 321

12.68 stm::tools::McBspMessage< ContextT > Class Template Reference

#include <mcbspmsg.hpp>

Inheritance diagram for stm::tools::McBspMessage< ContextT >:

stm::tools::McBspMessage< ContextT >

stm::tools::BaseMessage< ContextT >

stm::byte_iterator_range stm::tools::local::xBaseMessage< ContextT >

stm::tools::local::xMcBspMessage< ContextT >

Collaboration diagram for stm::tools::McBspMessage< ContextT >:

stm::tools::McBspMessage< ContextT >

stm::tools::BaseMessage< ContextT >

stm::byte_iterator_range

stm::tools::local::xBaseMessage< ContextT >

body_

stm::tools::MsgTimestamp

timestamp_

stm::tools::local::xMsgTimestamp

stm::tools::local::xMcBspMessage< ContextT >

12.68.1 Detailed Description

template<class ContextT> class stm::tools::McBspMessage< ContextT >

McBSP message scanning from a BaseMessage’s byte_iterator_range.

ContextT shall be a specialization of BaseMessageContext or be publicly derived therefrom. If ContextTis a specialization of BinMessageContext (which is publicly derived from a BaseMessageContext special-ization) or is publicly derived therefrom, ContextT is also a BinMessage<ContextT> factory and the typeMcBspMessage<ContextT> can be registered as BinMessage<ContextT> type known to that factory.

Definition at line 112 of file mcbspmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 323: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.68 stm::tools::McBspMessage< ContextT > Class Template Reference 322

Public Types

• typedef ContextT context_typeContext type of the messages to be scanned.

• typedef BaseMessage< ContextT > basemessage_typeBase type of this McBspMessage.

Public Member Functions

• McBspMessage (const byte ∗first, const byte ∗last, context_type &context, dwordflags=basemessage_type::NoFlags) throw (std::exception)

Construct a McBspMessage object from the range [first, last) read from context.

• const std::string & type () constReturn the message type string.

Static Public Member Functions

• static const std::string & Type ()Return the static message type string.

Private Types

• typedef local::xMcBspMessage< ContextT > McBspMessageImplImplementation.

12.68.2 Member Typedef Documentation

12.68.2.1 template<class ContextT> typedef local::xMcBspMessage<ContextT>stm::tools::McBspMessage< ContextT >::McBspMessageImpl [private]

Implementation.

Definition at line 117 of file mcbspmsg.hpp.

12.68.2.2 template<class ContextT> typedef ContextT stm::tools::McBspMessage< ContextT>::context_type

Context type of the messages to be scanned.

Reimplemented from stm::tools::BaseMessage< ContextT >.

Definition at line 121 of file mcbspmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 324: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.68 stm::tools::McBspMessage< ContextT > Class Template Reference 323

12.68.2.3 template<class ContextT> typedef BaseMessage<ContextT>stm::tools::McBspMessage< ContextT >::basemessage_type

Base type of this McBspMessage.

Reimplemented from stm::tools::BaseMessage< ContextT >.

Definition at line 124 of file mcbspmsg.hpp.

12.68.3 Constructor & Destructor Documentation

12.68.3.1 template<class ContextT> stm::tools::McBspMessage< ContextT >::McBspMessage(const byte ∗ first, const byte ∗ last, context_type & context, dword flags = basemessage_-type::NoFlags) throw (std::exception) [inline]

Construct a McBspMessage object from the range [first, last) read from context.

If a McBsp message (optionally preceded by a 4 or 5 byte FPGA timestamp) begins with first and fitscompletely into the range [first, last), the constructor succeeds. Then the method status() returns BaseMes-sage::NoError, the method begin() returns first, the method end() returns a byte pointer to the byte after theMcBSP end word of the message and the method body() returns the byte range consisting of the message’sbody excluding any padding bytes.

Else if the flags bit BaseMessage::ThrowOnError is not set, status () returns BaseMessage::OutOfSyncor BaseMessage::ConsistencyError, begin() returns first, end() returns a byte pointer to the next plausiblebegin of a McBSP message and body() returns the offended byte range which may be empty. If the flagsbit BaseMessage::ThrowOnError is set, the construcor throws std::runtime_error in these cases.

On other errors the constructor throws std::logic_error, if one of the arguments supplied is wrong, orstd::range_error, if a McBsp message potentially begins with first, but does not fit completely into therange [first, last).

Definition at line 354 of file xmcbspmsg.hpp.

References stm::tools::local::xMcBspMessage< ContextT >::Identification::bfn(),stm::tools::local::xMcBspMessage< ContextT >::Identification::bodyLength(),stm::tools::local::xMcBspMessage< ContextT >::Identification::chip(),stm::tools::local::xMcBspMessage< ContextT >::Identification::clear(),stm::tools::local::xMcBspMessage< ContextT >::Identification::size(),stm::tools::local::xMcBspMessage< ContextT >::Identification::slot(), and StmDebugAidsVerify.

12.68.4 Member Function Documentation

12.68.4.1 template<class ContextT> const std::string & stm::tools::McBspMessage< ContextT>::type () const [inline, virtual]

Return the message type string.

Implements the pure virtual method basemessage_type::type().

Implements stm::tools::BaseMessage< ContextT >.

Definition at line 472 of file xmcbspmsg.hpp.

References stm::tools::local::xMcBspMessage< ContextT >::type_.

12.68.4.2 template<class ContextT> const std::string & stm::tools::McBspMessage< ContextT>::Type () [inline, static]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 325: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.69 stm::tools::MsgTimestamp Class Reference 324

Return the static message type string.

Definition at line 480 of file xmcbspmsg.hpp.

References stm::tools::local::xMcBspMessage< ContextT >::type_.

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

• mcbspmsg.hpp• xmcbspmsg.hpp

12.69 stm::tools::MsgTimestamp Class Reference

#include <msgtimestamp.hpp>

Inheritance diagram for stm::tools::MsgTimestamp:

stm::tools::MsgTimestamp

stm::tools::local::xMsgTimestamp

Collaboration diagram for stm::tools::MsgTimestamp:

stm::tools::MsgTimestamp

stm::tools::local::xMsgTimestamp

12.69.1 Detailed Description

Message timestamp type.

Definition at line 105 of file msgtimestamp.hpp.

Public Types

• enum {

Invalid = MsgTimestampImpl::Invalid,

Udp = MsgTimestampImpl::Udp,

Fpga = MsgTimestampImpl::Fpga }Timestamp status.

Public Member Functions

• MsgTimestamp ()The default constructor constructs an invalid object.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 326: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.69 stm::tools::MsgTimestamp Class Reference 325

• void assign (word bfn, dword boardTimeSec, word boardTimeMs, dword seqNo)Assign UDP timing data.

• void assign (word bfn, byte slot, word chip, bool hsTadsib=false)Assign FPGA or hsTADSIB FPGA timing data.

• bool valid () constReturn true, if this MsgTimestamp is valid, else false.

• bool isUdp () constReturn true, if this MsgTimestamp represents UDP timing data, else false.

• bool isFpga () constReturn true, if this MsgTimestamp represents FPGA or hsTADSIB FPGA.

• byte status () constReturn the status of this MsgTimestamp.

• word bfn () constReturn the BFN of this MsgTimestamp.

• byte slot () constReturn the slot of this MsgTimestamp.

• word chip () constReturn the chip of this MsgTimestamp.

• dword boardTimeSec () constReturn the board time seconds of this MsgTimestamp.

• word boardTimeMs () constReturn the board time milliseconds of this MsgTimestamp.

• dword seqNo () constReturn the sequence number of this MsgTimestamp.

• bool hsTadsib () constReturn true, if this MsgTimestamp represents hsTADSIB FPGA timing data, else false.

12.69.2 Member Enumeration Documentation

12.69.2.1 anonymous enum

Timestamp status.

Enumerator:

InvalidUdpFpga

Definition at line 109 of file msgtimestamp.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 327: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.69 stm::tools::MsgTimestamp Class Reference 326

12.69.3 Constructor & Destructor Documentation

12.69.3.1 stm::tools::MsgTimestamp::MsgTimestamp () [inline]

The default constructor constructs an invalid object.

Definition at line 201 of file xmsgtimestamp.hpp.

12.69.4 Member Function Documentation

12.69.4.1 void stm::tools::MsgTimestamp::assign (word bfn, dword boardTimeSec, word board-TimeMs, dword seqNo) [inline]

Assign UDP timing data.

Definition at line 206 of file xmsgtimestamp.hpp.

Referenced by stm::tools::local::xBaseMessage< ContextT >::setTimestamp().

12.69.4.2 void stm::tools::MsgTimestamp::assign (word bfn, byte slot, word chip, bool hsTadsib =false) [inline]

Assign FPGA or hsTADSIB FPGA timing data.

Definition at line 226 of file xmsgtimestamp.hpp.

12.69.4.3 bool stm::tools::MsgTimestamp::valid () const [inline]

Return true, if this MsgTimestamp is valid, else false.

Definition at line 245 of file xmsgtimestamp.hpp.

References Invalid, and stm::tools::local::xMsgTimestamp::status_.

12.69.4.4 bool stm::tools::MsgTimestamp::isUdp () const [inline]

Return true, if this MsgTimestamp represents UDP timing data, else false.

Definition at line 251 of file xmsgtimestamp.hpp.

References stm::tools::local::xMsgTimestamp::status_, and Udp.

12.69.4.5 bool stm::tools::MsgTimestamp::isFpga () const [inline]

Return true, if this MsgTimestamp represents FPGA or hsTADSIB FPGA.

Definition at line 257 of file xmsgtimestamp.hpp.

References Fpga, and stm::tools::local::xMsgTimestamp::status_.

12.69.4.6 byte stm::tools::MsgTimestamp::status () const [inline]

Return the status of this MsgTimestamp.

Definition at line 263 of file xmsgtimestamp.hpp.

References stm::tools::local::xMsgTimestamp::status_.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 328: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.69 stm::tools::MsgTimestamp Class Reference 327

12.69.4.7 word stm::tools::MsgTimestamp::bfn () const [inline]

Return the BFN of this MsgTimestamp.

Definition at line 269 of file xmsgtimestamp.hpp.

References stm::tools::local::xMsgTimestamp::bfn_.

12.69.4.8 byte stm::tools::MsgTimestamp::slot () const [inline]

Return the slot of this MsgTimestamp.

Meaningful only for UDP timing data.

Definition at line 275 of file xmsgtimestamp.hpp.

References stm::tools::local::xMsgTimestamp::slot_.

12.69.4.9 word stm::tools::MsgTimestamp::chip () const [inline]

Return the chip of this MsgTimestamp.

Meaningful only for UDP timing data.

Definition at line 281 of file xmsgtimestamp.hpp.

References stm::tools::local::xMsgTimestamp::chip_.

12.69.4.10 dword stm::tools::MsgTimestamp::boardTimeSec () const [inline]

Return the board time seconds of this MsgTimestamp.

Meaningful only for FPGA or hsTADSIB FPGA timing data.

Definition at line 287 of file xmsgtimestamp.hpp.

References stm::tools::local::xMsgTimestamp::boardTimeSec_.

12.69.4.11 word stm::tools::MsgTimestamp::boardTimeMs () const [inline]

Return the board time milliseconds of this MsgTimestamp.

Meaningful only for FPGA or hsTADSIB FPGA timing data.

Definition at line 293 of file xmsgtimestamp.hpp.

References stm::tools::local::xMsgTimestamp::boardTimeMs_.

12.69.4.12 dword stm::tools::MsgTimestamp::seqNo () const [inline]

Return the sequence number of this MsgTimestamp.

Meaningful only for FPGA or hsTADSIB FPGA timing data.

Definition at line 299 of file xmsgtimestamp.hpp.

References stm::tools::local::xMsgTimestamp::seqNo_.

12.69.4.13 bool stm::tools::MsgTimestamp::hsTadsib () const [inline]

Return true, if this MsgTimestamp represents hsTADSIB FPGA timing data, else false.

Definition at line 305 of file xmsgtimestamp.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 329: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.70 Node Class Reference 328

References stm::tools::local::xMsgTimestamp::hsTadsib_.

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

• msgtimestamp.hpp• xmsgtimestamp.hpp

12.70 Node Class Reference

Collaboration diagram for Node:

Node

Slot

slot_

12.70.1 Detailed Description

Examples:

smartptrtest.cpp.

Definition at line 236 of file smartptrtest.cpp.

Public Types

• typedef NodeSet::accessor Ptr

Public Member Functions

• Node (const Slot &root)• Node (Ptr parent, stm::dword index)• const Slot & slot () const• stm::dword offset () const• bool operator< (const Node &other) const

Private Attributes

• Ptr parent_• stm::dword index_• Slot slot_• stm::dword offset_

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 330: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.70 Node Class Reference 329

12.70.2 Member Typedef Documentation

12.70.2.1 typedef NodeSet::accessor Node::Ptr

Examples:

smartptrtest.cpp.

Definition at line 239 of file smartptrtest.cpp.

12.70.3 Constructor & Destructor Documentation

12.70.3.1 Node::Node (const Slot & root) [inline]

Examples:

smartptrtest.cpp.

Definition at line 241 of file smartptrtest.cpp.

12.70.3.2 Node::Node (Ptr parent, stm::dword index) [inline]

Definition at line 247 of file smartptrtest.cpp.

References Slot::child(), Slot::disp(), index_, offset(), offset_, parent_, slot(), slot_, and StmDe-bugAidsVerify.

12.70.4 Member Function Documentation

12.70.4.1 const Slot& Node::slot () const [inline]

Examples:

smartptrtest.cpp.

Definition at line 256 of file smartptrtest.cpp.

References slot_.

Referenced by Node(), and operator<().

12.70.4.2 stm::dword Node::offset () const [inline]

Examples:

smartptrtest.cpp.

Definition at line 261 of file smartptrtest.cpp.

References offset_.

Referenced by Node(), and operator<().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 331: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.70 Node Class Reference 330

12.70.4.3 bool Node::operator< (const Node & other) const [inline]

Examples:

smartptrtest.cpp.

Definition at line 266 of file smartptrtest.cpp.

References offset(), and slot().

12.70.5 Member Data Documentation

12.70.5.1 Ptr Node::parent_ [private]

Examples:

smartptrtest.cpp.

Definition at line 275 of file smartptrtest.cpp.

Referenced by Node().

12.70.5.2 stm::dword Node::index_ [private]

Examples:

smartptrtest.cpp.

Definition at line 276 of file smartptrtest.cpp.

Referenced by Node().

12.70.5.3 Slot Node::slot_ [private]

Examples:

smartptrtest.cpp.

Definition at line 277 of file smartptrtest.cpp.

Referenced by Node(), and slot().

12.70.5.4 stm::dword Node::offset_ [private]

Examples:

smartptrtest.cpp.

Definition at line 278 of file smartptrtest.cpp.

Referenced by Node(), and offset().

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

• smartptrtest.cpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 332: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.71 stm::nospace< CharT > Struct Template Reference 331

12.71 stm::nospace< CharT > Struct Template Reference

#include <divaids.hpp>

12.71.1 Detailed Description

template<typename CharT> struct stm::nospace< CharT >

Unary predicate functor template determining if a CharT object is no white space as defined by the currentlocale.

Definition at line 1351 of file divaids.hpp.

Public Member Functions

• bool operator() (CharT c) constPredicate function call operator.

12.71.2 Member Function Documentation

12.71.2.1 template<typename CharT> bool stm::nospace< CharT >::operator() (CharT c) const[inline]

Predicate function call operator.

Definition at line 3375 of file divxaids.hpp.

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

• divaids.hpp• divxaids.hpp

12.72 stm::numpstring Class Reference

#include <filesysaids.hpp>

Inheritance diagram for stm::numpstring:

stm::numpstring

stm::pstring

Collaboration diagram for stm::numpstring:

stm::numpstring

stm::pstring

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 333: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.73 Operation Struct Reference 332

12.72.1 Detailed Description

Class to represent a file system name with a case unsensitive order relation on Windows systems else witha case case sensitive order relation collating numerically correct.

This means that trailing numbers in path names yield their logical order: eg. xyz9 < xyz10, and xyz001 <xyz2.

Definition at line 203 of file filesysaids.hpp.

Public Member Functions

• numpstring (const std::string &path=std::string())Constructs a numpstring representing path.

• numpstring (const char ∗path)Constructs a numpstring representing path.

12.72.2 Constructor & Destructor Documentation

12.72.2.1 stm::numpstring::numpstring (const std::string & path = std::string ())[inline]

Constructs a numpstring representing path.

Definition at line 1293 of file filesysxaids.hpp.

12.72.2.2 stm::numpstring::numpstring (const char ∗ path) [inline]

Constructs a numpstring representing path.

Definition at line 1296 of file filesysxaids.hpp.

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

• filesysaids.hpp• filesysxaids.hpp

12.73 Operation Struct Reference

Collaboration diagram for Operation:

Operation

stm::path< NameT >

dir

12.73.1 Detailed Description

Examples:

smartptrtest.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 334: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.73 Operation Struct Reference 333

Definition at line 286 of file smartptrtest.cpp.

Public Member Functions

• Operation ()

Public Attributes

• bool loadOnly• stm::dword type• stm::dword mode• stm::dword archive• stm::path dir

Classes

• struct Archive• struct Mode• struct Type

12.73.2 Constructor & Destructor Documentation

12.73.2.1 Operation::Operation () [inline]

Examples:

smartptrtest.cpp.

Definition at line 319 of file smartptrtest.cpp.

12.73.3 Member Data Documentation

12.73.3.1 bool Operation::loadOnly

Examples:

smartptrtest.cpp.

Definition at line 327 of file smartptrtest.cpp.

Referenced by main(), testptr(), and testset().

12.73.3.2 stm::dword Operation::type

Examples:

smartptrtest.cpp.

Definition at line 328 of file smartptrtest.cpp.

Referenced by main().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 335: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.74 Operation::Archive Struct Reference 334

12.73.3.3 stm::dword Operation::mode

Examples:

smartptrtest.cpp.

Definition at line 329 of file smartptrtest.cpp.

Referenced by main().

12.73.3.4 stm::dword Operation::archive

Examples:

smartptrtest.cpp.

Definition at line 330 of file smartptrtest.cpp.

Referenced by main(), testptr(), and testset().

12.73.3.5 stm::path Operation::dir

Examples:

smartptrtest.cpp.

Definition at line 331 of file smartptrtest.cpp.

Referenced by main(), testptr(), and testset().

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

• smartptrtest.cpp

12.74 Operation::Archive Struct Reference

12.74.1 Detailed Description

Definition at line 308 of file smartptrtest.cpp.

Public Types

• enum {

Txt = 0x00000001,

Bin = 0x00000002,

Xml = 0x00000004,

All = Txt | Bin | Xml }

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 336: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.75 Operation::Mode Struct Reference 335

12.74.2 Member Enumeration Documentation

12.74.2.1 anonymous enum

Enumerator:

TxtBinXmlAll

Definition at line 310 of file smartptrtest.cpp.

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

• smartptrtest.cpp

12.75 Operation::Mode Struct Reference

12.75.1 Detailed Description

Definition at line 298 of file smartptrtest.cpp.

Public Types

• enum {

Inj = 0x00000001,

Bij = 0x00000002,

All = Inj | Bij }

12.75.2 Member Enumeration Documentation

12.75.2.1 anonymous enum

Enumerator:

InjBijAll

Definition at line 300 of file smartptrtest.cpp.

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

• smartptrtest.cpp

12.76 Operation::Type Struct Reference

12.76.1 Detailed Description

Definition at line 288 of file smartptrtest.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 337: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.77 stm::path< NameT > Class Template Reference 336

Public Types

• enum {

Ptr = 0x00000001,

Set = 0x00000002,

All = Ptr | Set }

12.76.2 Member Enumeration Documentation

12.76.2.1 anonymous enum

Enumerator:

PtrSetAll

Definition at line 290 of file smartptrtest.cpp.

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

• smartptrtest.cpp

12.77 stm::path< NameT > Class Template Reference

#include <filesysaids.hpp>

12.77.1 Detailed Description

template<class NameT = pstring> class stm::path< NameT >

Class template path refining boost::filesystem::path.

NameT shall be convertable to std::string thus representing the path’s character representation.

Examples:

smartptrtest.cpp.

Definition at line 253 of file filesysaids.hpp.

Public Types

• typedef NameT name_typeTemplate type parameter NameT.

• typedef boost::filesystem::path basePublic base class.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 338: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.77 stm::path< NameT > Class Template Reference 337

Public Member Functions

• path ()Construct an empty path object.

• path (const boost::filesystem::path &src)Construct a path object from src.

• path (const std::string &src)Construct a path object from src.

• path (const char ∗src)Construct a path object from src.

• path (const std::string &src, name_check checker)Construct a path object from src with name check function checker.

• path (const char ∗src, name_check checker)Construct a path object from src with name check function checker.

• const name_type string () constReturns this path’s character representation as name_type object which is convertible to std::string.

• std::string head () constIf this path is not empty, the method returns ∗begin(), else an empty std::string.

• path< NameT > tail_path () constIf this path is not empty, the method retuns a path object consisting of this path with stripped off the head()component, else the empty path.

• bool has_head () constReturns true, if head() is not empty, else false.

• bool has_tail_path () constReturns true, if tail_path() is not empty, else false.

• path< NameT > operator- (const base &stem) constIf stem is the initial part of this path, return a path<NameT> object consisting of this path stripped offstem, else return the empty path.

• path< NameT > relative_to_directory (const base &source) constIf this path is empty, the empty path object is returned.

• template<class DataT>

int recurse (DataT &parent) constThe member function template recurse handles this path, and if it is a directory and recursion is not switchedoff, recursively all items of the tree spanned by this directory.

• template<class DataT>

int recurse (typename DataT::env_type &env) const

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 339: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.77 stm::path< NameT > Class Template Reference 338

The member function template recurse handles this path, and if it is a directory and recursion is not switchedoff, recursively all items of the tree spanned by this directory.

• template<class DataT>

int traverse (DataT &parent, const path< NameT > &route) constThe member function template traverse handles this path, and then if the normalized route r consists of thecomponents r1, .

• template<class DataT>

int traverse (typename DataT::env_type &env, const path< NameT > &route) constThe member function template traverse handles this path, and then if the normalized route r consists of thecomponents r1, .

Classes

• class dirdataAbstract base class template of directory data created for each directory the recusion handles.

• class recursionenvType of or public base class of the global recursion environment used by the methods recurse() and tra-verse().

12.77.2 Member Typedef Documentation

12.77.2.1 template<class NameT = pstring> typedef NameT stm::path< NameT >::name_type

Template type parameter NameT.

Definition at line 257 of file filesysaids.hpp.

12.77.2.2 template<class NameT = pstring> typedef boost::filesystem::path stm::path< NameT>::base

Public base class.

Definition at line 260 of file filesysaids.hpp.

12.77.3 Constructor & Destructor Documentation

12.77.3.1 template<class NameT> stm::path< NameT >::path () [inline]

Construct an empty path object.

Definition at line 1337 of file filesysxaids.hpp.

12.77.3.2 template<class NameT> stm::path< NameT >::path (const boost::filesystem::path<NameT > & src) [inline]

Construct a path object from src.

Definition at line 1342 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 340: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.77 stm::path< NameT > Class Template Reference 339

12.77.3.3 template<class NameT> stm::path< NameT >::path (const std::string & src)[inline]

Construct a path object from src.

Definition at line 1347 of file filesysxaids.hpp.

12.77.3.4 template<class NameT> stm::path< NameT >::path (const char ∗ src) [inline]

Construct a path object from src.

Definition at line 1353 of file filesysxaids.hpp.

12.77.3.5 template<class NameT> stm::path< NameT >::path (const std::string & src, name_-check checker) [inline]

Construct a path object from src with name check function checker.

Definition at line 1359 of file filesysxaids.hpp.

12.77.3.6 template<class NameT> stm::path< NameT >::path (const char ∗ src, name_checkchecker) [inline]

Construct a path object from src with name check function checker.

Definition at line 1365 of file filesysxaids.hpp.

12.77.4 Member Function Documentation

12.77.4.1 template<class NameT> const path< NameT >::name_type stm::path< NameT>::string () const [inline]

Returns this path’s character representation as name_type object which is convertible to std::string.

Definition at line 1371 of file filesysxaids.hpp.

Referenced by stm::path< NameT >::relative_to_directory(), testptr(), and testset().

12.77.4.2 template<class NameT> std::string stm::path< NameT >::head () const [inline]

If this path is not empty, the method returns ∗begin(), else an empty std::string.

Definition at line 1378 of file filesysxaids.hpp.

Referenced by stm::path< NameT >::traverse().

12.77.4.3 template<class NameT> path< NameT > stm::path< NameT >::tail_path () const[inline]

If this path is not empty, the method retuns a path object consisting of this path with stripped off the head()component, else the empty path.

Definition at line 1385 of file filesysxaids.hpp.

Referenced by stm::path< NameT >::traverse().

12.77.4.4 template<class NameT> bool stm::path< NameT >::has_head () const [inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 341: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.77 stm::path< NameT > Class Template Reference 340

Returns true, if head() is not empty, else false.

Definition at line 1400 of file filesysxaids.hpp.

Referenced by stm::path< NameT >::traverse().

12.77.4.5 template<class NameT> bool stm::path< NameT >::has_tail_path () const [inline]

Returns true, if tail_path() is not empty, else false.

Definition at line 1407 of file filesysxaids.hpp.

12.77.4.6 template<class NameT> path< NameT > stm::path< NameT >::operator- (const base& stem) const [inline]

If stem is the initial part of this path, return a path<NameT> object consisting of this path stripped offstem, else return the empty path.

Definition at line 1414 of file filesysxaids.hpp.

12.77.4.7 template<class NameT> path< NameT > stm::path< NameT >::relative_to_directory(const base & source) const [inline]

If this path is empty, the empty path object is returned.

If the completed forms of this path and source have the same root directory, a non-empty normalized pathobject result is returned such that source / result designates the same file system element as this path, wheresource is assumed to be a directory. Else the completed form of this path is returned.

Definition at line 1428 of file filesysxaids.hpp.

References stm::path< NameT >::string().

12.77.4.8 template<class NameT> template<class DataT> int stm::path< NameT >::recurse(DataT & parent) const [inline]

The member function template recurse handles this path, and if it is a directory and recursion is not switchedoff, recursively all items of the tree spanned by this directory.

It is an error, if this path does not exist.

Provided EnvT is publicly derived from path<NameT>::recursionenv and DataT is publicly derived frompath<NameT>::dirdata<DataT, EnvT>, then EnvT is the same type as DataT::env_type and is the type ofthe recursion environment. The argument parent describes the directory data of this path’s parent directoryand shall be obtained by the constructor

DataT parent (env);

The recursion environment env shall be obtained by the constructor

EnvT env (root, flags);

where the constructor argument root is this path.

After successful return the results of the execution are contained in the directory data parent and in therecursion environment accessible through parent.env ().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 342: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.77 stm::path< NameT > Class Template Reference 341

On success 0 is returned, else a value < 0. If -1 is returned, the variable errno reflects the error’s cause.

Definition at line 1451 of file filesysxaids.hpp.

References stm::path< NameT >::recursionenv::DoNotRecurse, and stm::path< NameT>::recursionenv::FollowDirLinks.

Referenced by stm::path< NameT >::recurse().

12.77.4.9 template<class NameT> template<class DataT> int stm::path< NameT >::recurse(typename DataT::env_type & env) const [inline]

The member function template recurse handles this path, and if it is a directory and recursion is not switchedoff, recursively all items of the tree spanned by this directory.

It is an error, if this path does not exist.

Provided EnvT is publicly derived from path<NameT>::recursionenv and DataT is publicly derived frompath<NameT>::dirdata<DataT, EnvT>, then EnvT is the same type as DataT::env_type and is the type ofthe recursion environment. The argument env of this type shall be obtained by the constructor

EnvT env (root, flags);

where the constructor argument root is this path.

After successful return the results of the execution are contained in the recursion environment env.

On success 0 is returned, else a value < 0. If -1 is returned, the variable errno reflects the error’s cause.

Definition at line 1483 of file filesysxaids.hpp.

References stm::path< NameT >::recurse().

12.77.4.10 template<class NameT> template<class DataT> int stm::path< NameT >::traverse(DataT & parent, const path< NameT > & route) const [inline]

The member function template traverse handles this path, and then if the normalized route r consists of thecomponents r1, .

.., rn, successively the paths ∗this / r1, ∗this / r1 / r2, ..., ∗this / r1 / ... / rn.

It is an error, if r.has_root_path() is true, or if r.head() == ’.’ or r.head() == ’..’ holds, whereas it is notrequired that this path or any of the composed paths exist.

Provided EnvT is publicly derived from path<NameT>::recursionenv and DataT is publicly derived frompath<NameT>::dirdata<DataT, EnvT>, then EnvT is the same type as DataT::env_type and is the type ofthe recursion environment. The argument parent describes the directory data of this path’s parent directoryand shall be obtained by the constructor

DataT parent (env);

The recursion environment env shall be obtained by the constructor

EnvT env (root, flags);

where the constructor argument root is this path.

After successful return the results of the execution are contained in the directory data parent and in therecursion environment accessible through parent.env ().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 343: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.78 stm::path< NameT >::dirdata< DataT, EnvT > Class Template Reference 342

On success 0 is returned, else a value < 0. If -1 is returned, the variable errno reflects the error’s cause.

Definition at line 1493 of file filesysxaids.hpp.

References stm::path< NameT >::has_head(), stm::path< NameT >::head(), stm::path< NameT >::tail_-path(), and stm::path< NameT >::traverse().

Referenced by stm::path< NameT >::traverse().

12.77.4.11 template<class NameT> template<class DataT> int stm::path< NameT >::traverse(typename DataT::env_type & env, const path< NameT > & route) const [inline]

The member function template traverse handles this path, and then if the normalized route r consists of thecomponents r1, .

.., rn, successively the paths ∗this / r1, ∗this / r1 / r2, ..., ∗this / r1 / ... / rn.

It is an error, if r.has_root_path() is true, or if r.head() == ’.’ or r.head() == ’..’ holds, whereas it is notrequired that this path or any of the composed paths exist.

Provided EnvT is publicly derived from path<NameT>::recursionenv and DataT is publicly derived frompath<NameT>::dirdata<DataT, EnvT>, then EnvT is the same type as DataT::env_type and is the type ofthe recursion environment. The argument env of this type shall be obtained by the constructor

EnvT env (root, flags);

where the constructor argument root is this path.

After successful return the results of the execution are contained in the recursion environment env.

On success 0 is returned, else a value < 0. If -1 is returned, the variable errno reflects the error’s cause.

Definition at line 1521 of file filesysxaids.hpp.

References stm::path< NameT >::traverse().

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

• filesysaids.hpp• filesysxaids.hpp

12.78 stm::path< NameT >::dirdata< DataT, EnvT > Class Template Reference

#include <filesysaids.hpp>

Inheritance diagram for stm::path< NameT >::dirdata< DataT, EnvT >:

stm::path< NameT >::dirdata< DataT, EnvT >

stm::local::xdirdata< DataT, EnvT >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 344: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.78 stm::path< NameT >::dirdata< DataT, EnvT > Class Template Reference 343

Collaboration diagram for stm::path< NameT >::dirdata< DataT, EnvT >:

stm::path< NameT >::dirdata< DataT, EnvT >

stm::local::xdirdata< DataT, EnvT >

DataT

parent_

EnvT

env_

12.78.1 Detailed Description

template<class NameT = pstring>template<class DataT, class EnvT = recursionenv> classstm::path< NameT >::dirdata< DataT, EnvT >

Abstract base class template of directory data created for each directory the recusion handles.

The template parameter DataT is the class that will be publicly derived from dirdata<DataT, EnvT> andthe template parameter EnvT is the global recursion environment recursionenv or a class publicly derivedtherefrom. So the intended usage is

class EnvT : public stm::path::recursionenv {...};class DataT : public stm::path::dirdata<DataT, EnvT> {...};

Definition at line 301 of file filesysaids.hpp.

Public Types

• typedef DataT data_typeTemplate type parameter DataT.

• typedef EnvT env_typeTemplate type parameter EnvT.

Public Member Functions

• dirdata (EnvT &env)This user applicable constructor creates directory data for the parent directory of the recursion root deter-mined by the recursion environment env.

• dirdata (const path< NameT > &dirpath, DataT &parent)This constructor is used by the methods recurse() and traverse() internally for each directoy dirpath handled.

• virtual ∼dirdata ()=0This pure virtual destructor shall be implemented by each derived class DataT and shall evaluate anyinteresting data and integrate them into the directory data of its parent directory and into the recursionenvironment accessible by the methods parent() and env(), respectively.

• virtual int operator() (const path< NameT > &entry)=0

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 345: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.78 stm::path< NameT >::dirdata< DataT, EnvT > Class Template Reference 344

This pure virtual function call operator shall be implemented by each derived class DataT and is called foreach entry handled by the recursion process (directories as well as plain files).

• const path< NameT > & dirpath () constReturns the directory path of the directory data object.

• DataT ∗ parent ()If not NULL, the method returns a pointer to the dirdata object’s parent directory data.

• EnvT & env ()Returns the recursion environment of the directory data object.

Private Types

• typedef local::xdirdata< DataT, EnvT > implImplementation.

12.78.2 Member Typedef Documentation

12.78.2.1 template<class NameT = pstring> template<class DataT, class EnvT = recursionenv>typedef local::xdirdata<DataT, EnvT> stm::path< NameT >::dirdata< DataT, EnvT >::impl[private]

Implementation.

Reimplemented from stm::local::xdirdata< DataT, EnvT >.

Definition at line 305 of file filesysaids.hpp.

12.78.2.2 template<class NameT = pstring> template<class DataT, class EnvT = recursionenv>typedef DataT stm::path< NameT >::dirdata< DataT, EnvT >::data_type

Template type parameter DataT.

Definition at line 309 of file filesysaids.hpp.

12.78.2.3 template<class NameT = pstring> template<class DataT, class EnvT = recursionenv>typedef EnvT stm::path< NameT >::dirdata< DataT, EnvT >::env_type

Template type parameter EnvT.

Definition at line 312 of file filesysaids.hpp.

12.78.3 Constructor & Destructor Documentation

12.78.3.1 template<class NameT> template<class DataT, class EnvT> stm::path< NameT>::dirdata< DataT, EnvT >::dirdata (EnvT & env) [inline]

This user applicable constructor creates directory data for the parent directory of the recursion root deter-mined by the recursion environment env.

This dirdata object shall be supplied as argument of the methods recurse() and traverse(). Each derivedclass DataT shall have a constructor with the same signature

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 346: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.78 stm::path< NameT >::dirdata< DataT, EnvT > Class Template Reference 345

DataT (EnvT &env);

which shall initialize its base class dirdata<DataT, EnvT> using this base class constructor.

Definition at line 1565 of file filesysxaids.hpp.

12.78.3.2 template<class NameT> template<class DataT, class EnvT> stm::path< NameT>::dirdata< DataT, EnvT >::dirdata (const path< NameT > & dirpath, DataT & parent)[inline]

This constructor is used by the methods recurse() and traverse() internally for each directoy dirpath handled.

Each derived class DataT shall have a constructor with the same signature

DataT (const path<NameT> &dirpath, DataT &parent);

which shall initialize its base class dirdata<DataT, EnvT> using this base class constructor.

Moreover, when initializing its DataT object the DataT constructor may access the recursion environmentaccessible through the method env().

Definition at line 1574 of file filesysxaids.hpp.

12.78.3.3 template<class NameT = pstring> template<class DataT, class EnvT = recursionenv>virtual stm::path< NameT >::dirdata< DataT, EnvT >::∼dirdata () [pure virtual]

This pure virtual destructor shall be implemented by each derived class DataT and shall evaluate anyinteresting data and integrate them into the directory data of its parent directory and into the recursionenvironment accessible by the methods parent() and env(), respectively.

12.78.4 Member Function Documentation

12.78.4.1 template<class NameT = pstring> template<class DataT, class EnvT = recursionenv>virtual int stm::path< NameT >::dirdata< DataT, EnvT >::operator() (const path< NameT > &entry) [pure virtual]

This pure virtual function call operator shall be implemented by each derived class DataT and is called foreach entry handled by the recursion process (directories as well as plain files).

According to entry, the operator may update its DataT object, the directory data of its parent directory andthe recursion environment accessible through the methods parent() and env(), respectively. On success theoperator shall return >= 0. If entry is to be excluded from being handled, it shall return a value > 0. Ifentry is a directory, the recursive descent into this directory does not happen in this case.

On error the operator shall return < 0, and if it returns -1, the variable errno shall reflect the error’s cause.

12.78.4.2 template<class NameT> template<class DataT, class EnvT> const path< NameT > &stm::path< NameT >::dirdata< DataT, EnvT >::dirpath () const [inline]

Returns the directory path of the directory data object.

Definition at line 1584 of file filesysxaids.hpp.

References stm::local::xdirdata< DataT, EnvT >::dirpath_.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 347: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.79 stm::path< NameT >::recursionenv Class Reference 346

12.78.4.3 template<class NameT> template<class DataT, class EnvT> DataT ∗ stm::path<NameT >::dirdata< DataT, EnvT >::parent () [inline]

If not NULL, the method returns a pointer to the dirdata object’s parent directory data.

Definition at line 1592 of file filesysxaids.hpp.

References stm::local::xdirdata< DataT, EnvT >::parent_.

12.78.4.4 template<class NameT> template<class DataT, class EnvT> EnvT & stm::path<NameT >::dirdata< DataT, EnvT >::env () [inline]

Returns the recursion environment of the directory data object.

Definition at line 1600 of file filesysxaids.hpp.

References stm::local::xdirdata< DataT, EnvT >::env_.

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

• filesysaids.hpp• filesysxaids.hpp

12.79 stm::path< NameT >::recursionenv Class Reference

#include <filesysaids.hpp>

Inheritance diagram for stm::path< NameT >::recursionenv:

stm::path< NameT >::recursionenv

stm::local::xrecursionenv

Collaboration diagram for stm::path< NameT >::recursionenv:

stm::path< NameT >::recursionenv

stm::local::xrecursionenv

12.79.1 Detailed Description

template<class NameT = pstring> class stm::path< NameT >::recursionenv

Type of or public base class of the global recursion environment used by the methods recurse() and tra-verse().

Definition at line 264 of file filesysaids.hpp.

Orable flag bits

No flags.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 348: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.79 stm::path< NameT >::recursionenv Class Reference 347

• static const dword NoFlags = 0x00000000• static const dword FollowDirLinks = impl::FollowDirLinks

Follow symbolic directory links.

• static const dword DoNotRecurse = impl::DoNotRecurseSuppress directory tree recursion.

Public Member Functions

• recursionenv (const path< NameT > &root, dword flags=NoFlags)Construct the global recursion environment for this path as root of the recursion.

• const path< NameT > & root () constReturns the recusion root.

• dword flags () constReturns the recursion environment flags.

12.79.2 Constructor & Destructor Documentation

12.79.2.1 template<class NameT> stm::path< NameT >::recursionenv::recursionenv (constpath< NameT > & root, dword flags = NoFlags) [inline]

Construct the global recursion environment for this path as root of the recursion.

Definition at line 1538 of file filesysxaids.hpp.

12.79.3 Member Function Documentation

12.79.3.1 template<class NameT> const path< NameT > & stm::path< NameT>::recursionenv::root () const [inline]

Returns the recusion root.

Definition at line 1546 of file filesysxaids.hpp.

References stm::local::xrecursionenv::root_.

12.79.3.2 template<class NameT> dword stm::path< NameT >::recursionenv::flags () const[inline]

Returns the recursion environment flags.

Definition at line 1553 of file filesysxaids.hpp.

References stm::local::xrecursionenv::flags_.

12.79.4 Member Data Documentation

12.79.4.1 template<class NameT = pstring> const dword stm::path< NameT>::recursionenv::NoFlags = 0x00000000 [static]

Definition at line 271 of file filesysaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 349: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.80 stm::smartptr::local::pcomp< T, Compare > Struct Template Reference 348

12.79.4.2 template<class NameT = pstring> const dword stm::path< NameT>::recursionenv::FollowDirLinks = impl::FollowDirLinks [static]

Follow symbolic directory links.

Reimplemented from stm::local::xrecursionenv.

Definition at line 274 of file filesysaids.hpp.

Referenced by stm::path< NameT >::recurse().

12.79.4.3 template<class NameT = pstring> const dword stm::path< NameT>::recursionenv::DoNotRecurse = impl::DoNotRecurse [static]

Suppress directory tree recursion.

Reimplemented from stm::local::xrecursionenv.

Definition at line 277 of file filesysaids.hpp.

Referenced by stm::path< NameT >::recurse().

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

• filesysaids.hpp• filesysxaids.hpp

12.80 stm::smartptr::local::pcomp< T, Compare > Struct Template Reference

#include <smartptrxaids.hpp>

12.80.1 Detailed Description

template<class T, class Compare> struct stm::smartptr::local::pcomp< T, Compare >

Definition at line 279 of file smartptrxaids.hpp.

Public Member Functions

• bool operator() (const T ∗p1, const T ∗p2) const

12.80.2 Member Function Documentation

12.80.2.1 template<class T, class Compare> bool stm::smartptr::local::pcomp< T, Compare>::operator() (const T ∗ p1, const T ∗ p2) const [inline]

Definition at line 282 of file smartptrxaids.hpp.

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

• smartptrxaids.hpp

12.81 stm::smartptr::local::pointee_type< T > Class Template Reference

#include <smartptrxaids.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 350: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.81 stm::smartptr::local::pointee_type< T > Class Template Reference 349

Collaboration diagram for stm::smartptr::local::pointee_type< T >:

stm::smartptr::local::pointee_type< T >

T

value_

12.81.1 Detailed Description

template<class T> class stm::smartptr::local::pointee_type< T >

Definition at line 295 of file smartptrxaids.hpp.

Public Member Functions

• pointee_type (const T &value=T())

Private Member Functions

• template<class Archive>void serialize (Archive &ar, const unsigned int version)

Private Attributes

• T value_

Friends

• class boost::serialization::access

12.81.2 Constructor & Destructor Documentation

12.81.2.1 template<class T> stm::smartptr::local::pointee_type< T >::pointee_type (const T &value = T ()) [inline, explicit]

Definition at line 300 of file smartptrxaids.hpp.

12.81.3 Member Function Documentation

12.81.3.1 template<class T> template<class Archive> void stm::smartptr::local::pointee_type<T >::serialize (Archive & ar, const unsigned int version) [inline, private]

Definition at line 306 of file smartptrxaids.hpp.

12.81.4 Friends And Related Function Documentation

12.81.4.1 template<class T> friend class boost::serialization::access [friend]

Definition at line 297 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 351: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.82 stm::smartptr::policy< Flags > Struct Template Reference 350

12.81.5 Member Data Documentation

12.81.5.1 template<class T> T stm::smartptr::local::pointee_type< T >::value_ [private]

Definition at line 312 of file smartptrxaids.hpp.

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

• smartptrxaids.hpp

12.82 stm::smartptr::policy< Flags > Struct Template Reference

#include <smartptraids.hpp>

12.82.1 Detailed Description

template<stm::dword Flags = 0> struct stm::smartptr::policy< Flags >

Class template serving as Policy template parameter for class templates injective_ptr and injective_set.

Definition at line 143 of file smartptraids.hpp.

Public Types

• typedef boost::mpl::bool_<(Flags &Surjective)==Surjective > surjectiveSurjective policy type being boost::mpl::true_ or boost::mpl::false_ depending on the value of thestm::smartptr::Surjective policy flag.

• typedef boost::mpl::bool_<(Flags &Multirange)==Multirange > multirangeMultirange policy type being boost::mpl::true_ or boost::mpl::false_ depending on the value of thestm::smartptr::Multirange policy flag.

12.82.2 Member Typedef Documentation

12.82.2.1 template<stm::dword Flags = 0> typedef boost::mpl::bool_<(Flags & Surjective) ==Surjective> stm::smartptr::policy< Flags >::surjective

Surjective policy type being boost::mpl::true_ or boost::mpl::false_ depending on the value of thestm::smartptr::Surjective policy flag.

Definition at line 147 of file smartptraids.hpp.

12.82.2.2 template<stm::dword Flags = 0> typedef boost::mpl::bool_<(Flags & Multirange) ==Multirange> stm::smartptr::policy< Flags >::multirange

Multirange policy type being boost::mpl::true_ or boost::mpl::false_ depending on the value of thestm::smartptr::Multirange policy flag.

Definition at line 151 of file smartptraids.hpp.

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

• smartptraids.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 352: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.83 stm::tools::PrintkBinMessage< ContextT > Class Template Reference 351

12.83 stm::tools::PrintkBinMessage< ContextT > Class Template Reference

#include <printkbinmsg.hpp>

Inheritance diagram for stm::tools::PrintkBinMessage< ContextT >:

stm::tools::PrintkBinMessage< ContextT >

stm::tools::BaseMessage< ContextT >

stm::byte_iterator_range

stm::tools::local::xBaseMessage< ContextT >

stm::tools::local::xPrintkBinMessage< ContextT >

Collaboration diagram for stm::tools::PrintkBinMessage< ContextT >:

stm::tools::PrintkBinMessage< ContextT >

stm::tools::BaseMessage< ContextT >stm::byte_iterator_range

stm::tools::local::xBaseMessage< ContextT >

body_

stm::tools::MsgTimestamptimestamp_

stm::tools::local::xMsgTimestamp stm::tools::local::xPrintkBinMessage< ContextT >

12.83.1 Detailed Description

template<class ContextT> class stm::tools::PrintkBinMessage< ContextT >

PrintkBin message scanning from a the BaseMessage’s byte_iterator_range.

ContextT shall be a specialization of BaseMessageContext or be publicly derived therefrom. If ContextTis a specialization of BinMessageContext (which is publicly derived from a BaseMessageContext special-ization) or is publicly derived therefrom, ContextT is also a BinMessage<ContextT> factory and the typePrintkBinMessage<ContextT> can be registered as BinMessage<ContextT> type known to that factory.

Definition at line 113 of file printkbinmsg.hpp.

Public Types

• typedef ContextT context_typeContext type of the messages to be scanned.

• typedef BaseMessage< ContextT > basemessage_typeBase type of this PrintkBinMessage.

Public Member Functions

• PrintkBinMessage (const byte ∗first, const byte ∗last, context_type &context, dwordflags=basemessage_type::NoFlags) throw (std::exception)

Construct a PrintkBinMessage object from the range [first, last) read from context.

• const std::string & type () constReturn the message type string.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 353: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.83 stm::tools::PrintkBinMessage< ContextT > Class Template Reference 352

Static Public Member Functions

• static const std::string & Type ()Return the static message type string.

Private Types

• typedef local::xPrintkBinMessage< ContextT > PrintkBinMessageImplImplementation.

12.83.2 Member Typedef Documentation

12.83.2.1 template<class ContextT> typedef local::xPrintkBinMessage<ContextT>stm::tools::PrintkBinMessage< ContextT >::PrintkBinMessageImpl [private]

Implementation.

Definition at line 118 of file printkbinmsg.hpp.

12.83.2.2 template<class ContextT> typedef ContextT stm::tools::PrintkBinMessage< ContextT>::context_type

Context type of the messages to be scanned.

Reimplemented from stm::tools::BaseMessage< ContextT >.

Definition at line 122 of file printkbinmsg.hpp.

12.83.2.3 template<class ContextT> typedef BaseMessage<ContextT>stm::tools::PrintkBinMessage< ContextT >::basemessage_type

Base type of this PrintkBinMessage.

Reimplemented from stm::tools::BaseMessage< ContextT >.

Definition at line 125 of file printkbinmsg.hpp.

12.83.3 Constructor & Destructor Documentation

12.83.3.1 template<class ContextT> stm::tools::PrintkBinMessage< ContextT>::PrintkBinMessage (const byte ∗ first, const byte ∗ last, context_type & context, dwordflags = basemessage_type::NoFlags) throw (std::exception) [inline]

Construct a PrintkBinMessage object from the range [first, last) read from context.

If a PrintkBin message characterized by its preceding sync word and its 6 or 12 byte timestamp beginswith first and fits completely into the range [first, last), the constructor succeeds. Then the method status()returns BaseMessage::NoError, the method begin() returns first, the method end() returns a byte pointerto the byte after the possibly padded end of the message and the method body() returns the byte rangeconsisting of the message’s body excluding any padding bytes.

Else if the flag bit BaseMessage::ThrowOnError is not set, status() returns BaseMessage::OutOfSync orBaseMessage::ConsistencyError, begin() returns first, end() returns a byte pointer to the next plausible

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 354: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.84 stm::pstring Class Reference 353

begin of a PrintkBin message and body() returns the offended byte range which may be empty. If the flagsbit BaseMessage::ThrowOnError is set, the construcor throws std::runtime_error in these cases.

On other errors the constructor throws std::logic_error, if one of the arguments supplied is wrong, orstd::range_error, if a PrintkBin message potentially begins with first, but does not fit completely into therange [first, last).

Definition at line 373 of file xprintkbinmsg.hpp.

References stm::tools::local::xPrintkBinMessage< ContextT >::Identification::addBodyLength(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::bfn(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::boardTimeMs(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::boardTimeSec(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::bodyLength(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::clear(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::seqNo(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::size(), and StmDebugAidsVerify.

12.83.4 Member Function Documentation

12.83.4.1 template<class ContextT> const std::string & stm::tools::PrintkBinMessage< ContextT>::type () const [inline, virtual]

Return the message type string.

Implements the pure virtual method basemessage_type::type().

Implements stm::tools::BaseMessage< ContextT >.

Definition at line 531 of file xprintkbinmsg.hpp.

References stm::tools::local::xPrintkBinMessage< ContextT >::type_.

12.83.4.2 template<class ContextT> const std::string & stm::tools::PrintkBinMessage< ContextT>::Type () [inline, static]

Return the static message type string.

Definition at line 539 of file xprintkbinmsg.hpp.

References stm::tools::local::xPrintkBinMessage< ContextT >::type_.

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

• printkbinmsg.hpp• xprintkbinmsg.hpp

12.84 stm::pstring Class Reference

#include <filesysaids.hpp>

Inheritance diagram for stm::pstring:

stm::pstring

stm::numpstring

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 355: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.84 stm::pstring Class Reference 354

12.84.1 Detailed Description

Class to represent a std::string with a case unsensitive order relation on Windows systems else with a casesensitive order relation used for file system element naming.

Definition at line 150 of file filesysaids.hpp.

Public Member Functions

• pstring (const std::string &path=std::string())Constructs a pstring representing path.

• pstring (const char ∗path)Constructs a pstring representing path.

• bool isContainedIn (const std::string &dir) constReturn true, if this pstring object designates the same file system element than that dir designates, or if thefile system element designated by dir is a directory and this pstring object designates a file system elementcontained in the tree spanned by the directory designated by dir.

• bool designatesSame (const std::string &other) constReturn true, if this pstring object designates the same file system element than that other designates.

• std::string limitedPath (size_t sizeLimitHint) constReturn a string designating this pstring object’s name limited to sizeLimitHint characters, if possible.

Static Public Attributes

• static const char nativeSeparator = ’/’Native path separator. This is ’\’ on Windows and ’/’ else.

• static const char ∗ allowedSeparators = "/"Allowed path separators. This os "\\/" on Windows and "/" else.

12.84.2 Constructor & Destructor Documentation

12.84.2.1 stm::pstring::pstring (const std::string & path = std::string ()) [inline]

Constructs a pstring representing path.

Definition at line 1229 of file filesysxaids.hpp.

12.84.2.2 stm::pstring::pstring (const char ∗ path) [inline]

Constructs a pstring representing path.

Definition at line 1232 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 356: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.85 stm::readablefile< NameT > Class Template Reference 355

12.84.3 Member Function Documentation

12.84.3.1 bool stm::pstring::isContainedIn (const std::string & dir) const

Return true, if this pstring object designates the same file system element than that dir designates, or if thefile system element designated by dir is a directory and this pstring object designates a file system elementcontained in the tree spanned by the directory designated by dir.

Definition at line 139 of file filesysaids.cpp.

12.84.3.2 bool stm::pstring::designatesSame (const std::string & other) const

Return true, if this pstring object designates the same file system element than that other designates.

Definition at line 160 of file filesysaids.cpp.

Referenced by stm::designateSame().

12.84.3.3 std::string stm::pstring::limitedPath (size_t sizeLimitHint) const

Return a string designating this pstring object’s name limited to sizeLimitHint characters, if possible.

Definition at line 181 of file filesysaids.cpp.

References PsepChars.

12.84.4 Member Data Documentation

12.84.4.1 const char stm::pstring::nativeSeparator = ’/’ [static]

Native path separator. This is ’\’ on Windows and ’/’ else.

Definition at line 154 of file filesysaids.hpp.

12.84.4.2 const char ∗ stm::pstring::allowedSeparators = "/" [static]

Allowed path separators. This os "\\/" on Windows and "/" else.

Definition at line 157 of file filesysaids.hpp.

Referenced by stm::tools::CtExceptions::add().

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

• filesysaids.hpp• filesysxaids.hpp• filesysaids.cpp

12.85 stm::readablefile< NameT > Class Template Reference

#include <filesysaids.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 357: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.85 stm::readablefile< NameT > Class Template Reference 356

Inheritance diagram for stm::readablefile< NameT >:

stm::readablefile< NameT >

stm::local::xreadablefile

Collaboration diagram for stm::readablefile< NameT >:

stm::readablefile< NameT >

stm::local::xreadablefile

12.85.1 Detailed Description

template<class NameT = pstring> class stm::readablefile< NameT >

Class template representing a file named by its NameT subobject which is guaranteed to be accessible forreading and holding its size at the time of definition.

NameT shall be default and copy constructable, assignable and convertable to std::string thus representingthe file’s name.

Definition at line 564 of file filesysaids.hpp.

Public Types

• typedef NameT name_typeTemplate type parameter NameT.

Public Member Functions

• readablefile () throw ()Construct an unnamed readablefile object.

• readablefile (const std::string &path) throw (std::runtime_error)Construct a readablefile object named path.

• readablefile (const char ∗path) throw (std::runtime_error)Construct a readablefile object named path.

• void swap (readablefile< NameT > &other) throw ()Swaps this readablefile ond other.

• void clear () throw ()Makes this readablefile empty.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 358: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.85 stm::readablefile< NameT > Class Template Reference 357

• void setpath (const std::string &path) throw (std::runtime_error)Set this readablefile object’s name to path.

• void setpath (const char ∗path) throw (std::runtime_error)Set this readablefile object’s name to path.

• size_t fileSize () const throw (std::runtime_error)Return the object’s file size. Throw if the object is unnamed.

• bool isTextfile (size_t checksize=std::string::npos, const std::locale &loc=std::locale()) const throw(std::runtime_error)

Returns true, if the first min(checksize, fileSize ()) bytes of the file designated by this readablefile object arewhitespace or printable in the locale loc.

12.85.2 Member Typedef Documentation

12.85.2.1 template<class NameT = pstring> typedef NameT stm::readablefile< NameT >::name_-type

Template type parameter NameT.

Definition at line 570 of file filesysaids.hpp.

12.85.3 Constructor & Destructor Documentation

12.85.3.1 template<class NameT> stm::readablefile< NameT >::readablefile () throw ()[inline]

Construct an unnamed readablefile object.

Definition at line 1611 of file filesysxaids.hpp.

12.85.3.2 template<class NameT> stm::readablefile< NameT >::readablefile (const std::string &path) throw (std::runtime_error) [inline]

Construct a readablefile object named path.

Throw if path is not accessible for reading.

Definition at line 1618 of file filesysxaids.hpp.

References stm::local::xreadablefile::fsize_.

12.85.3.3 template<class NameT> stm::readablefile< NameT >::readablefile (const char ∗ path)throw (std::runtime_error) [inline]

Construct a readablefile object named path.

Throw if path is not accessible for reading.

Definition at line 1641 of file filesysxaids.hpp.

References stm::local::xreadablefile::fsize_.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 359: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.85 stm::readablefile< NameT > Class Template Reference 358

12.85.4 Member Function Documentation

12.85.4.1 template<class NameT> void stm::readablefile< NameT >::swap (readablefile< NameT> & other) throw () [inline]

Swaps this readablefile ond other.

Definition at line 1664 of file filesysxaids.hpp.

References stm::local::xreadablefile::fsize_, and stm::smartptr::swap().

Referenced by stm::readablefile< NameT >::clear(), stm::readablefile< NameT >::setpath(), andstm::swap().

12.85.4.2 template<class NameT> void stm::readablefile< NameT >::clear () throw ()[inline]

Makes this readablefile empty.

Definition at line 1673 of file filesysxaids.hpp.

References stm::readablefile< NameT >::swap().

12.85.4.3 template<class NameT> void stm::readablefile< NameT >::setpath (const std::string &path) throw (std::runtime_error) [inline]

Set this readablefile object’s name to path.

Throw if path is not accessible for reading.

Definition at line 1682 of file filesysxaids.hpp.

References stm::readablefile< NameT >::swap().

12.85.4.4 template<class NameT> void stm::readablefile< NameT >::setpath (const char ∗ path)throw (std::runtime_error) [inline]

Set this readablefile object’s name to path.

Throw if path is not accessible for reading.

Definition at line 1691 of file filesysxaids.hpp.

References stm::readablefile< NameT >::swap().

12.85.4.5 template<class NameT> size_t stm::readablefile< NameT >::fileSize () const throw(std::runtime_error) [inline]

Return the object’s file size. Throw if the object is unnamed.

Definition at line 1700 of file filesysxaids.hpp.

References stm::local::xreadablefile::fsize_.

12.85.4.6 template<class NameT> bool stm::readablefile< NameT >::isTextfile (size_t checksize =std::string::npos, const std::locale & loc = std::locale ()) const throw (std::runtime_-error) [inline]

Returns true, if the first min(checksize, fileSize ()) bytes of the file designated by this readablefile objectare whitespace or printable in the locale loc.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 360: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.86 stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >Class Template Reference 359

Definition at line 1715 of file filesysxaids.hpp.

References stm::local::xreadablefile::fsize_.

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

• filesysaids.hpp• filesysxaids.hpp

12.86 stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted,multirange > Class Template Reference

#include <smartptrxaids.hpp>

Collaboration diagram for stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, mul-tirange >:

stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >

stm::integral_set< IntegralRangeT, RangeSetT >

definedids_availableids_

stm::local::xIntegral_set< IntegralRangeT, RangeSetT >

12.86.1 Detailed Description

template<class T, class Compare, class Allocator, bool refcounted, bool multirange> classstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >

Definition at line 587 of file smartptrxaids.hpp.

Public Types

• typedef base::template nth_index< 1 >::type by_ptr• typedef boost::iterator_range< range_iterator > range_type• typedef std::map< stm::dword, range_type, std::less< stm::dword >, typename Allocator::template

rebind< stm::dword >::other > range_map• typedef integral_set< integral_range< stm::dword > > rangeid_set

Public Member Functions

• repository_type ()Default constructor.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 361: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.86 stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >Class Template Reference 360

• ∼repository_type ()Destructor.

• void remove (typename base::iterator it, bool noUpdateRange=false)• void updateRange (stm::dword id)• stm::dword defineRange ()

Returns a new range id, i.e.

• void defineRange (stm::dword id)• void undefineRange (stm::dword id)• const range_type & range (stm::dword id) const• bool rangeEmpty (stm::dword id) const• bool rangeDefined (stm::dword id) const• bool rangeAvailable (stm::dword id) const

Public Attributes

• rangeid_set definedids_Set containing all currently defined range ids.

• rangeid_set availableids_Set containing all available range ids.

• range_map ranges_Map of defined range IDs to its ranges. Such a range may be empty.

• const by_ptr & rep_by_ptr_Repository index reference for order by pointer.

Private Types

• typedef boost::multi_index_container< item_descr< T, Compare, refcounted, multirange>, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_-index::member< item_descr< T, Compare, refcounted, multirange >, item_type< T, Compare>,&item_descr< T, Compare, refcounted, multirange >::item > >, boost::multi_index::ordered_-non_unique< boost::multi_index::const_mem_fun< item_descr< T, Compare, refcounted,multirange >, const T ∗,&item_descr< T, Compare, refcounted, multirange >::ptr >, pcomp<T, Compare > > >, typename Allocator::template rebind< item_descr< T, Compare, refcounted,multirange > >::other > base

Classes

• class range_iterator

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 362: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.86 stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >Class Template Reference 361

12.86.2 Member Typedef Documentation

12.86.2.1 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>typedef boost::multi_index_container< item_descr<T, Compare, refcounted, multirange>,boost::multi_index::indexed_by < boost::multi_index::ordered_unique < boost::multi_-index::member < item_descr<T, Compare, refcounted, multirange>, item_type<T, Compare>,&item_descr<T, Compare, refcounted, multirange>::item > >, boost::multi_index::ordered_-non_unique < boost::multi_index::const_mem_fun < item_descr<T, Compare, refcounted,multirange>, const T ∗, &item_descr<T, Compare, refcounted, multirange>::ptr >, pcomp<T,Compare> > >, typename Allocator::template rebind < item_descr<T, Compare, refcounted,multirange> >::other > stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted,multirange >::base [private]

Definition at line 649 of file smartptrxaids.hpp.

12.86.2.2 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>typedef base::template nth_index<1>::type stm::smartptr::local::repository_type< T, Compare,Allocator, refcounted, multirange >::by_ptr

Definition at line 652 of file smartptrxaids.hpp.

12.86.2.3 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>typedef boost::iterator_range<range_iterator> stm::smartptr::local::repository_type< T, Com-pare, Allocator, refcounted, multirange >::range_type

Definition at line 702 of file smartptrxaids.hpp.

12.86.2.4 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>typedef std::map< stm::dword, range_type, std::less<stm::dword>, typename Allocator::templaterebind<stm::dword>::other > stm::smartptr::local::repository_type< T, Compare, Allocator, ref-counted, multirange >::range_map

Definition at line 709 of file smartptrxaids.hpp.

12.86.2.5 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>typedef integral_set<integral_range <stm::dword> > stm::smartptr::local::repository_type< T,Compare, Allocator, refcounted, multirange >::rangeid_set

Definition at line 710 of file smartptrxaids.hpp.

12.86.3 Constructor & Destructor Documentation

12.86.3.1 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::repository_type () [inline]

Default constructor.

Definition at line 713 of file smartptrxaids.hpp.

12.86.3.2 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::∼repository_type () [inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 363: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.86 stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >Class Template Reference 362

Destructor.

Definition at line 720 of file smartptrxaids.hpp.

12.86.4 Member Function Documentation

12.86.4.1 template<class T, class Compare, class Allocator, bool refcounted, bool multirange> voidstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >::remove(typename base::iterator it, bool noUpdateRange = false) [inline]

Definition at line 730 of file smartptrxaids.hpp.

References stm::smartptr::local::item_type< T, Compare >::id, stm::smartptr::local::item_type< T, Com-pare >::ptr, and StmDebugAidsVerify.

12.86.4.2 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>void stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::updateRange (stm::dword id) [inline]

Definition at line 755 of file smartptrxaids.hpp.

References StmDebugAidsVerify.

12.86.4.3 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>stm::dword stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::defineRange () [inline]

Returns a new range id, i.e.

an id available as range id and inserts this new id into definedids_.

Definition at line 769 of file smartptrxaids.hpp.

References StmDebugAidsVerify.

12.86.4.4 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>void stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::defineRange (stm::dword id) [inline]

Definition at line 784 of file smartptrxaids.hpp.

References StmDebugAidsVerify.

12.86.4.5 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>void stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::undefineRange (stm::dword id) [inline]

Definition at line 798 of file smartptrxaids.hpp.

References StmDebugAidsVerify.

12.86.4.6 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>const range_type& stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, mul-tirange >::range (stm::dword id) const [inline]

Definition at line 828 of file smartptrxaids.hpp.

References StmDebugAidsVerify.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 364: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.86 stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >Class Template Reference 363

12.86.4.7 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>bool stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::rangeEmpty (stm::dword id) const [inline]

Definition at line 838 of file smartptrxaids.hpp.

12.86.4.8 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>bool stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::rangeDefined (stm::dword id) const [inline]

Definition at line 847 of file smartptrxaids.hpp.

12.86.4.9 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>bool stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::rangeAvailable (stm::dword id) const [inline]

Definition at line 852 of file smartptrxaids.hpp.

12.86.5 Member Data Documentation

12.86.5.1 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>rangeid_set stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::definedids_

Set containing all currently defined range ids.

Definition at line 858 of file smartptrxaids.hpp.

12.86.5.2 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>rangeid_set stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::availableids_

Set containing all available range ids.

Definition at line 861 of file smartptrxaids.hpp.

12.86.5.3 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>range_map stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::ranges_

Map of defined range IDs to its ranges. Such a range may be empty.

Definition at line 864 of file smartptrxaids.hpp.

12.86.5.4 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>const by_ptr& stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multi-range >::rep_by_ptr_

Repository index reference for order by pointer.

Definition at line 867 of file smartptrxaids.hpp.

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

• smartptrxaids.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 365: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.87 stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::range_iterator Class Reference 364

12.87 stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted,multirange >::range_iterator Class Reference

#include <smartptrxaids.hpp>

12.87.1 Detailed Description

template<class T, class Compare, class Allocator, bool refcounted, bool multirange> classstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >::range_-iterator

Definition at line 654 of file smartptrxaids.hpp.

Public Member Functions

• range_iterator ()• range_iterator (const baseit &it)• range_iterator & operator++ ()• range_iterator operator++ (int ignore)• bool operator== (const range_iterator &other) const• bool operator!= (const range_iterator &other) const• const T & operator ∗ () const• const T ∗ operator→ () const

Private Types

• typedef base::const_iterator baseit

12.87.2 Member Typedef Documentation

12.87.2.1 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>typedef base::const_iterator stm::smartptr::local::repository_type< T, Compare, Allocator, ref-counted, multirange >::range_iterator::baseit [private]

Definition at line 657 of file smartptrxaids.hpp.

12.87.3 Constructor & Destructor Documentation

12.87.3.1 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >::range_-iterator::range_iterator () [inline]

Definition at line 660 of file smartptrxaids.hpp.

12.87.3.2 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >::range_-iterator::range_iterator (const baseit & it) [inline]

Definition at line 664 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 366: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.88 stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false > ClassTemplate Reference 365

12.87.4 Member Function Documentation

12.87.4.1 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>range_iterator& stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, mul-tirange >::range_iterator::operator++ () [inline]

Definition at line 668 of file smartptrxaids.hpp.

12.87.4.2 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>range_iterator stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multi-range >::range_iterator::operator++ (int ignore) [inline]

Definition at line 674 of file smartptrxaids.hpp.

12.87.4.3 template<class T, class Compare, class Allocator, bool refcounted, bool multirange> boolstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >::range_-iterator::operator== (const range_iterator & other) const [inline]

Definition at line 679 of file smartptrxaids.hpp.

12.87.4.4 template<class T, class Compare, class Allocator, bool refcounted, bool multirange> boolstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >::range_-iterator::operator!= (const range_iterator & other) const [inline]

Definition at line 686 of file smartptrxaids.hpp.

12.87.4.5 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>const T& stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::range_iterator::operator ∗ () const [inline]

Definition at line 691 of file smartptrxaids.hpp.

12.87.4.6 template<class T, class Compare, class Allocator, bool refcounted, bool multirange>const T∗ stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::range_iterator::operator→ () const [inline]

Definition at line 696 of file smartptrxaids.hpp.

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

• smartptrxaids.hpp

12.88 stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted,false > Class Template Reference

#include <smartptrxaids.hpp>

12.88.1 Detailed Description

template<class T, class Compare, class Allocator, bool refcounted> classstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >

Definition at line 1053 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 367: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.88 stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false > ClassTemplate Reference 366

Public Types

• typedef boost::iterator_range< range_iterator > range_type

Public Member Functions

• repository_type ()Default constructor.

• ∼repository_type ()Destructor.

• void remove (typename base::iterator it, bool noUpdateRange=false)• void updateRange ()• stm::dword defineRange ()• void undefineRange (stm::dword id)• const range_type & range (stm::dword id) const• bool rangeEmpty (stm::dword id) const• bool rangeDefined (stm::dword id) const• bool rangeAvailable (stm::dword id) const

Public Attributes

• range_type range_Default range.

Private Types

• typedef boost::multi_index_container< item_descr< T, Compare, refcounted, false >,boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_-index::member< item_descr< T, Compare, refcounted, false >, const T ∗,&item_descr< T,Compare, refcounted, false >::ptr >, pcomp< T, Compare > > >, typename Allocator::templaterebind< item_descr< T, Compare, refcounted, false > >::other > base

Classes

• class range_iterator

12.88.2 Member Typedef Documentation

12.88.2.1 template<class T, class Compare, class Allocator, bool refcounted> typedefboost::multi_index_container< item_descr<T, Compare, refcounted, false>, boost::multi_-index::indexed_by < boost::multi_index::ordered_unique < boost::multi_index::member <item_descr<T, Compare, refcounted, false>, const T ∗, &item_descr<T, Compare, refcounted,false>::ptr >, pcomp<T, Compare> > >, typename Allocator::template rebind < item_descr<T,Compare, refcounted, false> >::other > stm::smartptr::local::repository_type< T, Compare,Allocator, refcounted, false >::base [private]

Definition at line 1097 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 368: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.88 stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false > ClassTemplate Reference 367

12.88.2.2 template<class T, class Compare, class Allocator, bool refcounted> typedefboost::iterator_range<range_iterator> stm::smartptr::local::repository_type< T, Compare,Allocator, refcounted, false >::range_type

Definition at line 1148 of file smartptrxaids.hpp.

12.88.3 Constructor & Destructor Documentation

12.88.3.1 template<class T, class Compare, class Allocator, bool refcounted>stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::repository_type() [inline]

Default constructor.

Definition at line 1151 of file smartptrxaids.hpp.

12.88.3.2 template<class T, class Compare, class Allocator, bool refcounted>stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::∼repository_-type () [inline]

Destructor.

Definition at line 1156 of file smartptrxaids.hpp.

12.88.4 Member Function Documentation

12.88.4.1 template<class T, class Compare, class Allocator, bool refcounted> voidstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::remove(typename base::iterator it, bool noUpdateRange = false) [inline]

Definition at line 1166 of file smartptrxaids.hpp.

References StmDebugAidsVerify.

12.88.4.2 template<class T, class Compare, class Allocator, bool refcounted> voidstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::updateRange ()[inline]

Definition at line 1183 of file smartptrxaids.hpp.

12.88.4.3 template<class T, class Compare, class Allocator, bool refcounted> stm::dwordstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::defineRange ()[inline]

Definition at line 1189 of file smartptrxaids.hpp.

12.88.4.4 template<class T, class Compare, class Allocator, bool refcounted> voidstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::undefineRange(stm::dword id) [inline]

Definition at line 1195 of file smartptrxaids.hpp.

12.88.4.5 template<class T, class Compare, class Allocator, bool refcounted> const range_-type& stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::range

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 369: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.89 stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false>::range_iterator Class Reference 368

(stm::dword id) const [inline]

Definition at line 1208 of file smartptrxaids.hpp.

12.88.4.6 template<class T, class Compare, class Allocator, bool refcounted> boolstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::rangeEmpty(stm::dword id) const [inline]

Definition at line 1217 of file smartptrxaids.hpp.

12.88.4.7 template<class T, class Compare, class Allocator, bool refcounted> boolstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::rangeDefined(stm::dword id) const [inline]

Definition at line 1226 of file smartptrxaids.hpp.

12.88.4.8 template<class T, class Compare, class Allocator, bool refcounted> boolstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::rangeAvailable(stm::dword id) const [inline]

Definition at line 1231 of file smartptrxaids.hpp.

12.88.5 Member Data Documentation

12.88.5.1 template<class T, class Compare, class Allocator, bool refcounted> range_typestm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::range_

Default range.

Definition at line 1237 of file smartptrxaids.hpp.

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

• smartptrxaids.hpp

12.89 stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted,false >::range_iterator Class Reference

#include <smartptrxaids.hpp>

12.89.1 Detailed Description

template<class T, class Compare, class Allocator, bool refcounted> classstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::range_iterator

Definition at line 1100 of file smartptrxaids.hpp.

Public Member Functions

• range_iterator ()• range_iterator (const baseit &it)• range_iterator & operator++ ()

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 370: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.89 stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false>::range_iterator Class Reference 369

• range_iterator operator++ (int ignore)• bool operator== (const range_iterator &other) const• bool operator!= (const range_iterator &other) const• const T & operator ∗ () const• const T ∗ operator→ () const

Private Types

• typedef base::const_iterator baseit

12.89.2 Member Typedef Documentation

12.89.2.1 template<class T, class Compare, class Allocator, bool refcounted> typedef base::const_-iterator stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::range_-iterator::baseit [private]

Definition at line 1103 of file smartptrxaids.hpp.

12.89.3 Constructor & Destructor Documentation

12.89.3.1 template<class T, class Compare, class Allocator, bool refcounted>stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::range_-iterator::range_iterator () [inline]

Definition at line 1106 of file smartptrxaids.hpp.

12.89.3.2 template<class T, class Compare, class Allocator, bool refcounted>stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::range_-iterator::range_iterator (const baseit & it) [inline]

Definition at line 1110 of file smartptrxaids.hpp.

12.89.4 Member Function Documentation

12.89.4.1 template<class T, class Compare, class Allocator, bool refcounted> range_iterator&stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::range_-iterator::operator++ () [inline]

Definition at line 1114 of file smartptrxaids.hpp.

12.89.4.2 template<class T, class Compare, class Allocator, bool refcounted> range_iteratorstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::range_-iterator::operator++ (int ignore) [inline]

Definition at line 1120 of file smartptrxaids.hpp.

12.89.4.3 template<class T, class Compare, class Allocator, bool refcounted> boolstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::range_-iterator::operator== (const range_iterator & other) const [inline]

Definition at line 1125 of file smartptrxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 371: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.90 stm::scoped_lock Class Reference 370

12.89.4.4 template<class T, class Compare, class Allocator, bool refcounted> boolstm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::range_-iterator::operator!= (const range_iterator & other) const [inline]

Definition at line 1132 of file smartptrxaids.hpp.

12.89.4.5 template<class T, class Compare, class Allocator, bool refcounted> const T&stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::range_-iterator::operator ∗ () const [inline]

Definition at line 1137 of file smartptrxaids.hpp.

12.89.4.6 template<class T, class Compare, class Allocator, bool refcounted> const T∗stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::range_-iterator::operator→ () const [inline]

Definition at line 1142 of file smartptrxaids.hpp.

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

• smartptrxaids.hpp

12.90 stm::scoped_lock Class Reference

#include <divaids.hpp>

Inheritance diagram for stm::scoped_lock:

stm::scoped_lock

stm::local::xscoped_lock

Collaboration diagram for stm::scoped_lock:

stm::scoped_lock

stm::local::xscoped_lock

12.90.1 Detailed Description

Scoped lock class.

Locks across the threads of the current process.

Definition at line 1111 of file divaids.hpp.

Public Member Functions

• scoped_lock (StmMutex mutex)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 372: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.90 stm::scoped_lock Class Reference 371

Throws:

std::logic_error, if mutex is invalid.

• scoped_lock (StmMutex mutex, int64 absTimeMs)Throws:

std::range_error on timeout.

• ∼scoped_lock ()

Friends

• bool local::xcondition::wait_ (scoped_lock &, int64)

12.90.2 Constructor & Destructor Documentation

12.90.2.1 stm::scoped_lock::scoped_lock (StmMutex mutex) [inline, explicit]

Throws:

std::logic_error, if mutex is invalid.

Definition at line 2971 of file divxaids.hpp.

References stm::local::xscoped_lock::mutex_, and stmMutexLock().

12.90.2.2 stm::scoped_lock::scoped_lock (StmMutex mutex, int64 absTimeMs) [inline]

Throws:

std::range_error on timeout.

Throws:

std::logic_error, if mutex is invalid.

Definition at line 2989 of file divxaids.hpp.

References stm::local::xscoped_lock::mutex_, and stmMutexTimedLock().

12.90.2.3 stm::scoped_lock::∼scoped_lock () [inline]

Definition at line 3014 of file divxaids.hpp.

References stm::local::xscoped_lock::mutex_, and stmMutexUnlock().

12.90.3 Friends And Related Function Documentation

12.90.3.1 bool local::xcondition::wait_ (scoped_lock &, int64) [friend]

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

• divaids.hpp• divxaids.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 373: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.91 Slot Class Reference 372

12.91 Slot Class Reference

12.91.1 Detailed Description

Examples:

smartptrtest.cpp.

Definition at line 206 of file smartptrtest.cpp.

Public Member Functions

• Slot (stm::dword disp=0)• Slot child (stm::dword index) const• stm::dword disp (stm::dword index) const• bool operator< (const Slot &other) const

Private Attributes

• std::vector< Slot > children_• stm::dword disp_

12.91.2 Constructor & Destructor Documentation

12.91.2.1 Slot::Slot (stm::dword disp = 0) [inline]

Examples:

smartptrtest.cpp.

Definition at line 209 of file smartptrtest.cpp.

12.91.3 Member Function Documentation

12.91.3.1 Slot Slot::child (stm::dword index) const [inline]

Examples:

smartptrtest.cpp.

Definition at line 213 of file smartptrtest.cpp.

References children_.

Referenced by Node::Node().

12.91.3.2 stm::dword Slot::disp (stm::dword index) const [inline]

Examples:

smartptrtest.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 374: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.92 stm::space< CharT > Struct Template Reference 373

Definition at line 218 of file smartptrtest.cpp.

References children_.

Referenced by Node::Node().

12.91.3.3 bool Slot::operator< (const Slot & other) const [inline]

Examples:

smartptrtest.cpp.

Definition at line 223 of file smartptrtest.cpp.

References children_, and disp_.

12.91.4 Member Data Documentation

12.91.4.1 std::vector<Slot> Slot::children_ [private]

Examples:

smartptrtest.cpp.

Definition at line 232 of file smartptrtest.cpp.

Referenced by child(), disp(), and operator<().

12.91.4.2 stm::dword Slot::disp_ [private]

Examples:

smartptrtest.cpp.

Definition at line 233 of file smartptrtest.cpp.

Referenced by operator<().

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

• smartptrtest.cpp

12.92 stm::space< CharT > Struct Template Reference

#include <divaids.hpp>

12.92.1 Detailed Description

template<typename CharT> struct stm::space< CharT >

Unary predicate functor template determining if a CharT object is a white space as defined by the currentlocale.

Definition at line 1340 of file divaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 375: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.93 basic_ostringstream Class Reference 374

Public Member Functions

• bool operator() (CharT c) constPredicate function call operator.

12.92.2 Member Function Documentation

12.92.2.1 template<typename CharT> bool stm::space< CharT >::operator() (CharT c) const[inline]

Predicate function call operator.

Definition at line 3368 of file divxaids.hpp.

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

• divaids.hpp• divxaids.hpp

12.93 basic_ostringstream Class Reference

Inheritance diagram for basic_ostringstream:

basic_ostringstream

stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >

stm::basic_logger< std::wstring, stdIndent, lineLength, lockingPolicy >

stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >

stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >

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

• loggeraids.hpp

12.94 map Class Reference

Inheritance diagram for map:

map

stm::local::xinputrange< std::set< InputFileT >, bufSize >

stm::inputrange< std::set< InputFileT >, bufSize >

stm::inputseq< InputFileT, bufSize >

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

• filesysxaids.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 376: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.95 Sudoku Class Reference 375

12.95 Sudoku Class Reference

12.95.1 Detailed Description

Sudoku model.

Examples:

sudoku.cpp.

Definition at line 193 of file sudoku.cpp.

Public Types

• enum {

FirstSolution,

RandomSolution,

UniqueSolution }

Public Member Functions

• Sudoku (bool silent=false)• int generate (stm::word dim)• int read (FILE ∗input)• int test () const

Test the sudoku.

• int solve (stm::dword solution=FirstSolution)Solve this sudoku and replace it with the solution or with its uniquely determined part.

• int write (FILE ∗output) const

Private Types

• typedef boost::shared_ptr< State > StatePtr

Private Member Functions

• int init ()

Private Attributes

• StatePtr state• bool silent• stm::word n• stm::word n2• stm::word n3• stm::word n4• std::vector< std::vector< stm::word > > row• std::vector< std::vector< stm::word > > col• std::vector< std::vector< stm::word > > sub

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 377: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.95 Sudoku Class Reference 376

Friends

• class State

Classes

• class StateSudoku state.

12.95.2 Member Typedef Documentation

12.95.2.1 typedef boost::shared_ptr<State> Sudoku::StatePtr [private]

Examples:

sudoku.cpp.

Definition at line 243 of file sudoku.cpp.

12.95.3 Member Enumeration Documentation

12.95.3.1 anonymous enum

Enumerator:

FirstSolutionRandomSolutionUniqueSolution

Definition at line 196 of file sudoku.cpp.

12.95.4 Constructor & Destructor Documentation

12.95.4.1 Sudoku::Sudoku (bool silent = false)

Examples:

sudoku.cpp.

Definition at line 399 of file sudoku.cpp.

12.95.5 Member Function Documentation

12.95.5.1 int Sudoku::generate (stm::word dim)

Examples:

sudoku.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 378: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.95 Sudoku Class Reference 377

Definition at line 414 of file sudoku.cpp.

References init(), n, and state.

Referenced by main().

12.95.5.2 int Sudoku::read (FILE ∗ input)

Examples:

sudoku.cpp.

Definition at line 426 of file sudoku.cpp.

References init(), n, state, stmDstrDel(), stmDstrLen(), stmDvecFree, StmFgdAppend, StmFgdPreserveNl,and stmFgetDstr().

Referenced by main().

12.95.5.3 int Sudoku::test () const

Test the sudoku.

Returns:

-1, if this is no valid sudoku.The number of undefined positions of this sudoku.

Examples:

sudoku.cpp.

Definition at line 519 of file sudoku.cpp.

References state.

Referenced by main().

12.95.5.4 int Sudoku::solve (stm::dword solution = FirstSolution)

Solve this sudoku and replace it with the solution or with its uniquely determined part.

Parameters:

solution • If FirstSolution and there is more than one solution, choose the first one.• If RandomSolution and there is more than one solution, choose a random one.• If UniqueSolution and there is more than one solution, set this Sudoku to the uniquely de-

termined solution part.

Returns:

-2, if solution or this Sudoku is not valid.-1, if the result a valid sudoku, but not the only possible solution.0, if the result is the only possible valid solution.The number of undefined positions, if the sudoku could not be solved.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 379: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.95 Sudoku Class Reference 378

Examples:

sudoku.cpp.

Definition at line 533 of file sudoku.cpp.

References state, and UniqueSolution.

Referenced by main().

12.95.5.5 int Sudoku::write (FILE ∗ output) const

Examples:

sudoku.cpp.

Definition at line 544 of file sudoku.cpp.

References n, n2, n3, state, and StmDebugAidsVerify.

Referenced by main().

12.95.5.6 int Sudoku::init () [private]

Examples:

sudoku.cpp.

Definition at line 490 of file sudoku.cpp.

References col, n, n2, n3, n4, row, and sub.

Referenced by generate(), and read().

12.95.6 Friends And Related Function Documentation

12.95.6.1 friend class State [friend]

Examples:

sudoku.cpp.

Definition at line 241 of file sudoku.cpp.

12.95.7 Member Data Documentation

12.95.7.1 StatePtr Sudoku::state [private]

Examples:

sudoku.cpp.

Definition at line 247 of file sudoku.cpp.

Referenced by generate(), read(), solve(), test(), and write().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 380: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.95 Sudoku Class Reference 379

12.95.7.2 bool Sudoku::silent [private]

Examples:

sudoku.cpp.

Definition at line 249 of file sudoku.cpp.

Referenced by Sudoku::State::generate(), and main().

12.95.7.3 stm::word Sudoku::n [private]

Examples:

sudoku.cpp.

Definition at line 250 of file sudoku.cpp.

Referenced by generate(), Sudoku::State::getSub(), init(), read(), and write().

12.95.7.4 stm::word Sudoku::n2 [private]

Examples:

sudoku.cpp.

Definition at line 251 of file sudoku.cpp.

Referenced by Sudoku::State::define(), Sudoku::State::getCol(), Sudoku::State::getRow(), Su-doku::State::init(), init(), Sudoku::State::read(), Sudoku::State::solve(), Sudoku::State::test(), andwrite().

12.95.7.5 stm::word Sudoku::n3 [private]

Examples:

sudoku.cpp.

Definition at line 252 of file sudoku.cpp.

Referenced by init(), and write().

12.95.7.6 stm::word Sudoku::n4 [private]

Examples:

sudoku.cpp.

Definition at line 253 of file sudoku.cpp.

Referenced by Sudoku::State::generate(), Sudoku::State::init(), init(), Sudoku::State::read(), Su-doku::State::solve(), Sudoku::State::State(), and Sudoku::State::test().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 381: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.96 Sudoku::State Class Reference 380

12.95.7.7 std::vector<std::vector<stm::word> > Sudoku::row [private]

Examples:

sudoku.cpp.

Definition at line 254 of file sudoku.cpp.

Referenced by Sudoku::State::define(), Sudoku::State::init(), init(), and Sudoku::State::test().

12.95.7.8 std::vector<std::vector<stm::word> > Sudoku::col [private]

Examples:

sudoku.cpp.

Definition at line 255 of file sudoku.cpp.

Referenced by Sudoku::State::define(), Sudoku::State::init(), init(), and Sudoku::State::test().

12.95.7.9 std::vector<std::vector<stm::word> > Sudoku::sub [private]

Examples:

sudoku.cpp.

Definition at line 256 of file sudoku.cpp.

Referenced by Sudoku::State::define(), Sudoku::State::init(), init(), and Sudoku::State::test().

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

• sudoku.cpp

12.96 Sudoku::State Class Reference

Collaboration diagram for Sudoku::State:

Sudoku::State

Sudoku

sudoku

12.96.1 Detailed Description

Sudoku state.

Examples:

sudoku.cpp.

Definition at line 262 of file sudoku.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 382: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.96 Sudoku::State Class Reference 381

Private Member Functions

• State (const Sudoku &sudoku)• int solve (stm::dword solution)

Solve sudoku and replace it with the solution or with its uniquely determined part.

• int read (const char ∗input)• bool test () const• void init ()

Initialize u and pot from sudoku and a.

• int generate ()• stm::word getRow (stm::word k) const• stm::word getCol (stm::word k) const• stm::word getSub (stm::word k) const• bool define (stm::byte el, stm::word k)

Set position k of sudoku to el, if possible.

• void undefine (stm::word k)Unset position k of sudoku.

• void restore (State &other)

Static Private Member Functions

• static stm::word randomVal (stm::word limit)Random number generation.

Private Attributes

• const Sudoku & sudoku• stm::word u• std::vector< stm::byte > a• std::vector< std::set< stm::byte > > pot

Friends

• class Sudoku

12.96.2 Constructor & Destructor Documentation

12.96.2.1 Sudoku::State::State (const Sudoku & sudoku) [inline, private]

Examples:

sudoku.cpp.

Definition at line 267 of file sudoku.cpp.

References a, init(), Sudoku::n4, and pot.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 383: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.96 Sudoku::State Class Reference 382

12.96.3 Member Function Documentation

12.96.3.1 int Sudoku::State::solve (stm::dword solution) [private]

Solve sudoku and replace it with the solution or with its uniquely determined part.

Parameters:

solution • If Sudoku::FirstSolution and there is more than one solution, choose the first one.• If Sudoku::RandomSolution and there is more than one solution, choose a random one.• If Sudoku::UniqueSolution and there is more than one solution, set sudoku to the uniquely

determined solution part.

Returns:

-2, if solution or sudoku is not valid.-1, if the result a valid sudoku, but not the only possible solution.0, if the result is the only possible valid solution.The number of undefined positions, if the sudoku could not be solved.

Examples:

sudoku.cpp.

Definition at line 707 of file sudoku.cpp.

References define(), Sudoku::n2, Sudoku::n4, pot, Sudoku::RandomSolution, randomVal(), restore(),solve(), StmDebugAidsVerify, sudoku, test(), u, and Sudoku::UniqueSolution.

Referenced by generate(), and solve().

12.96.3.2 int Sudoku::State::read (const char ∗ input) [private]

Examples:

sudoku.cpp.

Definition at line 579 of file sudoku.cpp.

References a, init(), Sudoku::n2, Sudoku::n4, sudoku, and test().

12.96.3.3 bool Sudoku::State::test () const [private]

Examples:

sudoku.cpp.

Definition at line 665 of file sudoku.cpp.

References a, Sudoku::col, getCol(), getRow(), getSub(), Sudoku::n2, Sudoku::n4, Sudoku::row, Su-doku::sub, and sudoku.

Referenced by generate(), read(), and solve().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 384: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.96 Sudoku::State Class Reference 383

12.96.3.4 void Sudoku::State::init () [private]

Initialize u and pot from sudoku and a.

Effects:

Computes the number u of undefined positions and the vector of potential position sets pot.

Examples:

sudoku.cpp.

Definition at line 613 of file sudoku.cpp.

References a, Sudoku::col, getCol(), getRow(), getSub(), Sudoku::n2, Sudoku::n4, pot, Sudoku::row,StmDebugAidsVerify, Sudoku::sub, sudoku, and u.

Referenced by read(), State(), and undefine().

12.96.3.5 int Sudoku::State::generate () [private]

Examples:

sudoku.cpp.

Definition at line 833 of file sudoku.cpp.

References a, define(), Sudoku::n4, Sudoku::RandomSolution, randomVal(), Sudoku::silent, solve(),StmDebugAidsVerify, sudoku, test(), u, and undefine().

Referenced by main().

12.96.3.6 stm::word Sudoku::State::getRow (stm::word k) const [inline, private]

Examples:

sudoku.cpp.

Definition at line 308 of file sudoku.cpp.

References Sudoku::n2, and sudoku.

Referenced by define(), getSub(), init(), and test().

12.96.3.7 stm::word Sudoku::State::getCol (stm::word k) const [inline, private]

Examples:

sudoku.cpp.

Definition at line 313 of file sudoku.cpp.

References Sudoku::n2, and sudoku.

Referenced by define(), getSub(), init(), and test().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 385: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.96 Sudoku::State Class Reference 384

12.96.3.8 stm::word Sudoku::State::getSub (stm::word k) const [inline, private]

Examples:

sudoku.cpp.

Definition at line 318 of file sudoku.cpp.

References getCol(), getRow(), Sudoku::n, and sudoku.

Referenced by define(), init(), and test().

12.96.3.9 bool Sudoku::State::define (stm::byte el, stm::word k) [private]

Set position k of sudoku to el, if possible.

Parameters:

el The element value to set.

k The position index.

Requires:

el is element of pos [k].

a [k] == 0.

Note:

If el cannot be set, sudoku is not changed.

Returns:

True, if el could be set and pot could be updated accordingly, else false.

Examples:

sudoku.cpp.

Definition at line 900 of file sudoku.cpp.

References a, Sudoku::col, getCol(), getRow(), getSub(), Sudoku::n2, pot, restore(), Sudoku::row, StmDe-bugAidsVerify, Sudoku::sub, sudoku, and u.

Referenced by generate(), and solve().

12.96.3.10 void Sudoku::State::undefine (stm::word k) [private]

Unset position k of sudoku.

Parameters:

k The element value to unset.

Requires:

pos [k] is empty.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 386: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.96 Sudoku::State Class Reference 385

a [k] != 0.

Effects:

Unsets position k of sudoku and updates pot accordingly.

Examples:

sudoku.cpp.

Definition at line 958 of file sudoku.cpp.

References a, init(), pot, StmDebugAidsVerify, and u.

Referenced by generate().

12.96.3.11 void Sudoku::State::restore (State & other) [inline, private]

Examples:

sudoku.cpp.

Definition at line 352 of file sudoku.cpp.

References a, pot, and u.

Referenced by define(), and solve().

12.96.3.12 static stm::word Sudoku::State::randomVal (stm::word limit) [inline, static,private]

Random number generation.

Parameters:

← limit Upper limit for result.

Requires:

limit > 0

Returns:

A pseudo-random number n in the range [0, limit).

Examples:

sudoku.cpp.

Definition at line 366 of file sudoku.cpp.

References StmDebugAidsVerify.

Referenced by generate(), and solve().

12.96.4 Friends And Related Function Documentation

12.96.4.1 friend class Sudoku [friend]

Definition at line 264 of file sudoku.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 387: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.97 stm::system_condition Class Reference 386

12.96.5 Member Data Documentation

12.96.5.1 const Sudoku& Sudoku::State::sudoku [private]

Examples:

sudoku.cpp.

Definition at line 372 of file sudoku.cpp.

Referenced by define(), generate(), getCol(), getRow(), getSub(), init(), main(), read(), solve(), and test().

12.96.5.2 stm::word Sudoku::State::u [private]

Examples:

sudoku.cpp.

Definition at line 374 of file sudoku.cpp.

Referenced by define(), generate(), init(), main(), restore(), solve(), and undefine().

12.96.5.3 std::vector<stm::byte> Sudoku::State::a [private]

Examples:

sudoku.cpp.

Definition at line 375 of file sudoku.cpp.

Referenced by define(), generate(), init(), read(), restore(), State(), test(), and undefine().

12.96.5.4 std::vector<std::set<stm::byte> > Sudoku::State::pot [private]

Examples:

sudoku.cpp.

Definition at line 376 of file sudoku.cpp.

Referenced by define(), init(), restore(), solve(), State(), and undefine().

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

• sudoku.cpp

12.97 stm::system_condition Class Reference

#include <divaids.hpp>

Inheritance diagram for stm::system_condition:

stm::system_condition

stm::local::xsystem_condition

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 388: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.97 stm::system_condition Class Reference 387

Collaboration diagram for stm::system_condition:

stm::system_condition

stm::local::xsystem_condition

12.97.1 Detailed Description

System condition class.

Definition at line 1059 of file divaids.hpp.

Public Member Functions

• system_condition (const std::string &name)Throws:

std::logic_error on error.

• ∼system_condition ()• void signal ()

Throws:

std::logic_error on error.

• void broadcast ()Throws:

std::logic_error on error.

• void wait (system_scoped_lock &lock)Throws:

std::logic_error on error.

• bool timed_wait (system_scoped_lock &lock, int64 absTimeMs)Throws:

std::logic_error on error.

12.97.2 Constructor & Destructor Documentation

12.97.2.1 stm::system_condition::system_condition (const std::string & name) [inline,explicit]

Throws:

std::logic_error on error.

Definition at line 2893 of file divxaids.hpp.

References stm::local::xsystem_condition::cond_.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 389: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.97 stm::system_condition Class Reference 388

12.97.2.2 stm::system_condition::∼system_condition () [inline]

Definition at line 2910 of file divxaids.hpp.

References stm::local::xsystem_condition::cond_, and stmNamedConditionDestroy().

12.97.3 Member Function Documentation

12.97.3.1 void stm::system_condition::signal () [inline]

Throws:

std::logic_error on error.

Definition at line 2916 of file divxaids.hpp.

References stm::local::xsystem_condition::cond_, and stmNamedConditionSignal().

12.97.3.2 void stm::system_condition::broadcast () [inline]

Throws:

std::logic_error on error.

Definition at line 2933 of file divxaids.hpp.

References stm::local::xsystem_condition::cond_, and stmNamedConditionBroadcast().

12.97.3.3 void stm::system_condition::wait (system_scoped_lock & lock) [inline]

Throws:

std::logic_error on error.

Definition at line 2950 of file divxaids.hpp.

References stm::local::xsystem_condition::wait_().

12.97.3.4 bool stm::system_condition::timed_wait (system_scoped_lock & lock, int64 absTimeMs)[inline]

Throws:

std::logic_error on error.

Definition at line 2958 of file divxaids.hpp.

References stm::local::xsystem_condition::wait_().

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

• divaids.hpp• divxaids.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 390: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.98 stm::system_scoped_lock Class Reference 389

12.98 stm::system_scoped_lock Class Reference

#include <divaids.hpp>

Inheritance diagram for stm::system_scoped_lock:

stm::system_scoped_lock

stm::local::xsystem_scoped_lock

Collaboration diagram for stm::system_scoped_lock:

stm::system_scoped_lock

stm::local::xsystem_scoped_lock

12.98.1 Detailed Description

System scoped lock class.

Locks across all processes running on the system.

Definition at line 1135 of file divaids.hpp.

Public Member Functions

• system_scoped_lock (StmNamedMutex mutex)Throws:

std::logic_error, if mutex is invalid.

• system_scoped_lock (StmNamedMutex mutex, int64 absTimeMs)Throws:

std::range_error on timeout.

• ∼system_scoped_lock ()

Friends

• bool local::xsystem_condition::wait_ (system_scoped_lock &, int64)

12.98.2 Constructor & Destructor Documentation

12.98.2.1 stm::system_scoped_lock::system_scoped_lock (StmNamedMutex mutex) [inline,explicit]

Throws:

std::logic_error, if mutex is invalid.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 391: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.99 TestPtr< Policy > Struct Template Reference 390

Definition at line 3024 of file divxaids.hpp.

References stm::local::xsystem_scoped_lock::mutex_, and stmNamedMutexLock().

12.98.2.2 stm::system_scoped_lock::system_scoped_lock (StmNamedMutex mutex, int64 ab-sTimeMs) [inline]

Throws:

std::range_error on timeout.

Throws:

std::logic_error, if mutex is invalid.

Definition at line 3042 of file divxaids.hpp.

References stm::local::xsystem_scoped_lock::mutex_, and stmNamedMutexTimedLock().

12.98.2.3 stm::system_scoped_lock::∼system_scoped_lock () [inline]

Definition at line 3067 of file divxaids.hpp.

References stm::local::xsystem_scoped_lock::mutex_, and stmNamedMutexUnlock().

12.98.3 Friends And Related Function Documentation

12.98.3.1 bool local::xsystem_condition::wait_ (system_scoped_lock &, int64) [friend]

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

• divaids.hpp• divxaids.hpp

12.99 TestPtr< Policy > Struct Template Reference

12.99.1 Detailed Description

template<class Policy> struct TestPtr< Policy >

Examples:

smartptrtest.cpp.

Definition at line 336 of file smartptrtest.cpp.

Public Types

• typedef stm::injective< stm::dword, std::less< stm::dword >, std::allocator< stm::dword >, Policy>::ptr DwordPtr

• typedef stm::injective< std::string, std::less< std::string >, std::allocator< std::string >, Policy>::ptr StrPtr

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 392: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.99 TestPtr< Policy > Struct Template Reference 391

Public Member Functions

• TestPtr ()• TestPtr (stm::dword dw0, stm::dword dw1, const std::string &str0, const std::string &str1)• template<class ArchiveT>

void save (const std::string &file) const• template<class ArchiveT>

void load (const std::string &file)• void tell (const std::string &title) const• bool operator== (const TestPtr &other)

Public Attributes

• DwordPtr dwptr0• DwordPtr dwptr1• StrPtr strptr0• StrPtr strptr1• StrPtr strptr2

12.99.2 Member Typedef Documentation

12.99.2.1 template<class Policy> typedef stm::injective< stm::dword, std::less<stm::dword>,std::allocator<stm::dword>, Policy >::ptr TestPtr< Policy >::DwordPtr

Examples:

smartptrtest.cpp.

Definition at line 344 of file smartptrtest.cpp.

12.99.2.2 template<class Policy> typedef stm::injective< std::string, std::less<std::string>,std::allocator<std::string>, Policy >::ptr TestPtr< Policy >::StrPtr

Examples:

smartptrtest.cpp.

Definition at line 352 of file smartptrtest.cpp.

12.99.3 Constructor & Destructor Documentation

12.99.3.1 template<class Policy> TestPtr< Policy >::TestPtr () [inline]

Examples:

smartptrtest.cpp.

Definition at line 354 of file smartptrtest.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 393: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.99 TestPtr< Policy > Struct Template Reference 392

12.99.3.2 template<class Policy> TestPtr< Policy >::TestPtr (stm::dword dw0, stm::dword dw1,const std::string & str0, const std::string & str1) [inline]

Definition at line 357 of file smartptrtest.cpp.

References TestPtr< Policy >::strptr0, and TestPtr< Policy >::strptr2.

12.99.4 Member Function Documentation

12.99.4.1 template<class Policy> template<class ArchiveT> void TestPtr< Policy >::save (conststd::string & file) const [inline]

Examples:

smartptrtest.cpp.

Definition at line 372 of file smartptrtest.cpp.

References TestPtr< Policy >::dwptr0, TestPtr< Policy >::dwptr1, TestPtr< Policy >::strptr0, TestPtr<Policy >::strptr1, and TestPtr< Policy >::strptr2.

12.99.4.2 template<class Policy> template<class ArchiveT> void TestPtr< Policy >::load (conststd::string & file) [inline]

Examples:

smartptrtest.cpp.

Definition at line 385 of file smartptrtest.cpp.

References TestPtr< Policy >::dwptr0, TestPtr< Policy >::dwptr1, TestPtr< Policy >::strptr0, TestPtr<Policy >::strptr1, and TestPtr< Policy >::strptr2.

12.99.4.3 template<class Policy> void TestPtr< Policy >::tell (const std::string & title) const[inline]

Examples:

smartptrtest.cpp.

Definition at line 397 of file smartptrtest.cpp.

References TestPtr< Policy >::dwptr0, TestPtr< Policy >::dwptr1, StmDebugAidsVerify, TestPtr< Policy>::strptr0, TestPtr< Policy >::strptr1, and TestPtr< Policy >::strptr2.

Referenced by testptr().

12.99.4.4 template<class Policy> bool TestPtr< Policy >::operator== (const TestPtr< Policy > &other) [inline]

Examples:

smartptrtest.cpp.

Definition at line 492 of file smartptrtest.cpp.

References TestPtr< Policy >::dwptr0, TestPtr< Policy >::dwptr1, TestPtr< Policy >::strptr0, TestPtr<Policy >::strptr1, and TestPtr< Policy >::strptr2.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 394: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.99 TestPtr< Policy > Struct Template Reference 393

12.99.5 Member Data Documentation

12.99.5.1 template<class Policy> DwordPtr TestPtr< Policy >::dwptr0

Examples:

smartptrtest.cpp.

Definition at line 502 of file smartptrtest.cpp.

Referenced by TestPtr< Policy >::load(), TestPtr< Policy >::operator==(), TestPtr< Policy >::save(), andTestPtr< Policy >::tell().

12.99.5.2 template<class Policy> DwordPtr TestPtr< Policy >::dwptr1

Examples:

smartptrtest.cpp.

Definition at line 503 of file smartptrtest.cpp.

Referenced by TestPtr< Policy >::load(), TestPtr< Policy >::operator==(), TestPtr< Policy >::save(), andTestPtr< Policy >::tell().

12.99.5.3 template<class Policy> StrPtr TestPtr< Policy >::strptr0

Examples:

smartptrtest.cpp.

Definition at line 504 of file smartptrtest.cpp.

Referenced by TestPtr< Policy >::load(), TestPtr< Policy >::operator==(), TestPtr< Policy >::save(),TestPtr< Policy >::tell(), and TestPtr< Policy >::TestPtr().

12.99.5.4 template<class Policy> StrPtr TestPtr< Policy >::strptr1

Examples:

smartptrtest.cpp.

Definition at line 505 of file smartptrtest.cpp.

Referenced by TestPtr< Policy >::load(), TestPtr< Policy >::operator==(), TestPtr< Policy >::save(), andTestPtr< Policy >::tell().

12.99.5.5 template<class Policy> StrPtr TestPtr< Policy >::strptr2

Examples:

smartptrtest.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 395: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.100 TestSet< Policy > Struct Template Reference 394

Definition at line 506 of file smartptrtest.cpp.

Referenced by TestPtr< Policy >::load(), TestPtr< Policy >::operator==(), TestPtr< Policy >::save(),TestPtr< Policy >::tell(), and TestPtr< Policy >::TestPtr().

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

• smartptrtest.cpp

12.100 TestSet< Policy > Struct Template Reference

12.100.1 Detailed Description

template<class Policy> struct TestSet< Policy >

Examples:

smartptrtest.cpp.

Definition at line 515 of file smartptrtest.cpp.

Public Types

• typedef stm::injective< stm::dword, std::less< stm::dword >, std::allocator< stm::dword >, Policy>::set DwordSet

• typedef stm::injective< std::string, std::less< std::string >, std::allocator< std::string >, Policy>::set StrSet

Public Member Functions

• TestSet ()• void define (stm::dword dw0=0, stm::dword dw1=0, const std::string &str0=std::string(), const

std::string &str1=std::string())• template<class ArchiveT>

void save (const std::string &file) const• template<class ArchiveT>

void load (const std::string &file)• void tell (const std::string &title) const• bool operator== (const TestSet &other)

Public Attributes

• DwordSet dwset• StrSet strset• DwordSet::accessor dwptr0• DwordSet::accessor dwptr1• StrSet::accessor strptr0• StrSet::accessor strptr1

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 396: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.100 TestSet< Policy > Struct Template Reference 395

12.100.2 Member Typedef Documentation

12.100.2.1 template<class Policy> typedef stm::injective< stm::dword, std::less<stm::dword>,std::allocator<stm::dword>, Policy >::set TestSet< Policy >::DwordSet

Examples:

smartptrtest.cpp.

Definition at line 523 of file smartptrtest.cpp.

12.100.2.2 template<class Policy> typedef stm::injective< std::string, std::less<std::string>,std::allocator<std::string>, Policy >::set TestSet< Policy >::StrSet

Examples:

smartptrtest.cpp.

Definition at line 531 of file smartptrtest.cpp.

12.100.3 Constructor & Destructor Documentation

12.100.3.1 template<class Policy> TestSet< Policy >::TestSet () [inline]

Examples:

smartptrtest.cpp.

Definition at line 533 of file smartptrtest.cpp.

12.100.4 Member Function Documentation

12.100.4.1 template<class Policy> void TestSet< Policy >::define (stm::dword dw0 = 0,stm::dword dw1 = 0, const std::string & str0 = std::string (), const std::string & str1 =std::string ()) [inline]

Examples:

smartptrtest.cpp.

Definition at line 543 of file smartptrtest.cpp.

References TestSet< Policy >::dwptr0, TestSet< Policy >::dwptr1, TestSet< Policy >::dwset, StmDe-bugAidsVerify, TestSet< Policy >::strptr0, TestSet< Policy >::strptr1, and TestSet< Policy >::strset.

Referenced by testset().

12.100.4.2 template<class Policy> template<class ArchiveT> void TestSet< Policy >::save (conststd::string & file) const [inline]

Examples:

smartptrtest.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 397: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.100 TestSet< Policy > Struct Template Reference 396

Definition at line 572 of file smartptrtest.cpp.

References TestSet< Policy >::dwptr0, TestSet< Policy >::dwptr1, TestSet< Policy >::strptr0, andTestSet< Policy >::strptr1.

12.100.4.3 template<class Policy> template<class ArchiveT> void TestSet< Policy >::load (conststd::string & file) [inline]

Examples:

smartptrtest.cpp.

Definition at line 584 of file smartptrtest.cpp.

References TestSet< Policy >::dwptr0, TestSet< Policy >::dwptr1, TestSet< Policy >::strptr0, andTestSet< Policy >::strptr1.

12.100.4.4 template<class Policy> void TestSet< Policy >::tell (const std::string & title) const[inline]

Examples:

smartptrtest.cpp.

Definition at line 595 of file smartptrtest.cpp.

References TestSet< Policy >::dwptr0, TestSet< Policy >::dwptr1, TestSet< Policy >::dwset, StmDe-bugAidsVerify, TestSet< Policy >::strptr0, TestSet< Policy >::strptr1, and TestSet< Policy >::strset.

Referenced by testset().

12.100.4.5 template<class Policy> bool TestSet< Policy >::operator== (const TestSet< Policy >& other) [inline]

Examples:

smartptrtest.cpp.

Definition at line 677 of file smartptrtest.cpp.

References TestSet< Policy >::dwptr0, TestSet< Policy >::dwptr1, TestSet< Policy >::strptr0, andTestSet< Policy >::strptr1.

12.100.5 Member Data Documentation

12.100.5.1 template<class Policy> DwordSet TestSet< Policy >::dwset

Examples:

smartptrtest.cpp.

Definition at line 686 of file smartptrtest.cpp.

Referenced by TestSet< Policy >::define(), and TestSet< Policy >::tell().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 398: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.100 TestSet< Policy > Struct Template Reference 397

12.100.5.2 template<class Policy> StrSet TestSet< Policy >::strset

Examples:

smartptrtest.cpp.

Definition at line 687 of file smartptrtest.cpp.

Referenced by TestSet< Policy >::define(), and TestSet< Policy >::tell().

12.100.5.3 template<class Policy> DwordSet::accessor TestSet< Policy >::dwptr0

Examples:

smartptrtest.cpp.

Definition at line 688 of file smartptrtest.cpp.

Referenced by TestSet< Policy >::define(), TestSet< Policy >::load(), TestSet< Policy >::operator==(),TestSet< Policy >::save(), TestSet< Policy >::tell(), and testset().

12.100.5.4 template<class Policy> DwordSet::accessor TestSet< Policy >::dwptr1

Examples:

smartptrtest.cpp.

Definition at line 689 of file smartptrtest.cpp.

Referenced by TestSet< Policy >::define(), TestSet< Policy >::load(), TestSet< Policy >::operator==(),TestSet< Policy >::save(), TestSet< Policy >::tell(), and testset().

12.100.5.5 template<class Policy> StrSet::accessor TestSet< Policy >::strptr0

Examples:

smartptrtest.cpp.

Definition at line 690 of file smartptrtest.cpp.

Referenced by TestSet< Policy >::define(), TestSet< Policy >::load(), TestSet< Policy >::operator==(),TestSet< Policy >::save(), TestSet< Policy >::tell(), and testset().

12.100.5.6 template<class Policy> StrSet::accessor TestSet< Policy >::strptr1

Examples:

smartptrtest.cpp.

Definition at line 691 of file smartptrtest.cpp.

Referenced by TestSet< Policy >::define(), TestSet< Policy >::load(), TestSet< Policy >::operator==(),TestSet< Policy >::save(), TestSet< Policy >::tell(), and testset().

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

• smartptrtest.cpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 399: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.101 stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy > Class TemplateReference 398

12.101 stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy > ClassTemplate Reference

#include <loggeraids.hpp>

Inheritance diagram for stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >:

stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >stm::basic_logger< std::wstring, stdIndent, lineLength, lockingPolicy >

stm::logger_base

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

std::basic_ostringstream< std::wstring ::value_type, std::wstring ::traits_type, std::wstring ::allocator_type >

stm::local::basic_xlogger< std::wstring, lockingPolicy >

stm::local::basic_xlogger< StringT, lockingPolicy >< std::wstring, lockingPolicy >

< std::wstring, stdIndent, lineLength, lockingPolicy >

Collaboration diagram for stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >:

stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >stm::basic_logger< std::wstring, stdIndent, lineLength, lockingPolicy >

stm::logger_base

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

std::basic_ostringstream< std::wstring ::value_type, std::wstring ::traits_type, std::wstring ::allocator_type >

stm::local::basic_xlogger< std::wstring, lockingPolicy >

stm::local::basic_xlogger< StringT, lockingPolicy >::Stream output

stm::local::basic_xlogger< StringT, lockingPolicy >output

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmtfmt

< std::wstring, lockingPolicy >

< std::wstring, stdIndent, lineLength, lockingPolicy >

12.101.1 Detailed Description

template<word stdIndent = 4, word lineLength = 79, bool errorConsole = false, word lockingPolicy= logger_base::NoLocking> class stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy>

Class template to manage formatted logging on a std::wstring based output stream (normally a log file) andoptionally on a second std::wstring based stream (normally a console, by default std::wcout, if templateparameter errorConsole is false (the default), or else std::wcerr).

Since wlogger is indirectly derived from a std::wostringstream, data insertion into wlogger objects is easilypossible. On construction the base class std::wostingstream object is default constructed and then initializedto use uppercase letters for hexadecimal numbers and to use right adjusted fixed point notation for floatingpoint numbers. If formatted printig to a stream is done, the default value for indentation is given by thetemplate parameter stdIndent and the default line length is given by the template parameter lineLength.

According to the template parameter lockingPolicy either no locking is possible (logger_base::NoLocking)or an unnamed mutex (see Abstract Data Type StmMutex) for logger_base::ProcessLocking or anamed mutex (see Abstract Data Type StmNamedMutex) for logger_base::SystemLocking is used bystm::wlogger::locker to perform locking across all threads of the calling process or across all threads ofthe system, respectively. The mutex name for system-wide locking has to be supplied to the constructor ofstm::wlogger.

Definition at line 515 of file loggeraids.hpp.

Public Member Functions

• wlogger (bool enableStream=false, std::wostream &stream=errorConsole?std::wcerr:std::wcout,const std::string &mutexName=std::string())

Construct a wlogger object to print on stream (default the standard console), if enableStream is true (defaultfalse).

• wlogger (bool enableStream, const std::string &mutexName)Construct a logger object to print on stream (default the standard console), if enableStream is true.

• wlogger (std::ostream &stream, const std::string &mutexName)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 400: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.102 stm::tools::local::xArgList Class Reference 399

Construct a logger object to print on stream.

• wlogger (std::wostream &stream, bool enableConsole=false, const std::string &mutex-Name=std::string())

Construct a wlogger object to print on stream and on the standard console, if enableConsole is true (defaultfalse).

• wlogger (std::wostream &stream, std::wostream &console, const std::string &mutex-Name=std::string())

Construct a wlogger object to print on stream and on console.

• void setConsole ()Configure this wlogger object to print on the standard console.

12.101.2 Constructor & Destructor Documentation

12.101.2.1 template<word stdIndent, word lineLength, bool errorConsole, word lockingPolicy>stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >::wlogger (bool enableStream= false, std::wostream & stream = errorConsole ? std::wcerr : std::wcout, conststd::string & mutexName = std::string ()) [inline]

Construct a wlogger object to print on stream (default the standard console), if enableStream is true (defaultfalse).

mutexName is the name of the mutex used for system-wide locking, if applicable. If for system-widelocking mutexName is empty, the standard name ’StmLoggerLock’ is used.

Definition at line 1271 of file loggerxaids.hpp.

References stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >::setStream().

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

• loggeraids.hpp• loggerxaids.hpp

12.102 stm::tools::local::xArgList Class Reference

#include <xctaids.hpp>

Inheritance diagram for stm::tools::local::xArgList:

stm::tools::local::xArgList

stm::tools::Ct::ArgList

Collaboration diagram for stm::tools::local::xArgList:

stm::tools::local::xArgListstm::tools::Ctct_

stm::tools::local::xCtstm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >logger_

stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >

stm::logger_base

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

std::basic_ostringstream< std::string ::value_type, std::string ::traits_type, std::string ::allocator_type >

stm::local::basic_xlogger< std::string, lockingPolicy >

stm::local::basic_xlogger< StringT, lockingPolicy >::Stream output

stm::local::basic_xlogger< StringT, lockingPolicy >output

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmtfmt

< std::string, lockingPolicy >

< std::string, stdIndent, lineLength, lockingPolicy >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 401: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.102 stm::tools::local::xArgList Class Reference 400

12.102.1 Detailed Description

stm::tools::Ct::ArgList implementation base class.

Definition at line 145 of file xctaids.hpp.

Protected Types

• typedef xArgList impl

Protected Member Functions

• xArgList (const Ct &ct)

Protected Attributes

• const Ct & ct_

Static Protected Attributes

• static const size_t limit_ = 2048

12.102.2 Member Typedef Documentation

12.102.2.1 typedef xArgList stm::tools::local::xArgList::impl [protected]

Definition at line 148 of file xctaids.hpp.

12.102.3 Constructor & Destructor Documentation

12.102.3.1 stm::tools::local::xArgList::xArgList (const Ct & ct) [inline, protected]

Definition at line 150 of file xctaids.hpp.

12.102.4 Member Data Documentation

12.102.4.1 const Ct& stm::tools::local::xArgList::ct_ [protected]

Definition at line 154 of file xctaids.hpp.

Referenced by stm::tools::Ct::ArgList::exec().

12.102.4.2 const size_t stm::tools::local::xArgList::limit_ = 2048 [static, protected]

Definition at line 155 of file xctaids.hpp.

Referenced by stm::tools::Ct::ArgList::operator+=().

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

• xctaids.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 402: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.103 stm::tools::local::xBaseMessage< ContextT > Class Template Reference 401

12.103 stm::tools::local::xBaseMessage< ContextT > Class Template Reference

#include <xbinmsg.hpp>

Inheritance diagram for stm::tools::local::xBaseMessage< ContextT >:

stm::tools::local::xBaseMessage< ContextT >

stm::tools::BaseMessage< ContextT >

stm::tools::McBspMessage< ContextT > stm::tools::PrintkBinMessage< ContextT >

Collaboration diagram for stm::tools::local::xBaseMessage< ContextT >:

stm::tools::local::xBaseMessage< ContextT >

stm::tools::MsgTimestamp

timestamp_

stm::tools::local::xMsgTimestamp

stm::byte_iterator_range

body_

12.103.1 Detailed Description

template<class ContextT> class stm::tools::local::xBaseMessage< ContextT >

stm::tools::BaseMessage implementation base class template.

Definition at line 162 of file xbinmsg.hpp.

Protected Member Functions

• xBaseMessage (context_type &context, dword flags, dword status)• void setTimestamp (word bfn, dword boardTimeSec, word boardTimeMs, dword seqNo)• void setTimestamp (word bfn, byte slot, word chip)

Protected Attributes

• Timestamp timestamp_Timestamp of the binary message.

• dword flags_Flags of the binary message.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 403: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.103 stm::tools::local::xBaseMessage< ContextT > Class Template Reference 402

• dword status_Status of the binary message.

• byte_iterator_range body_Byte range of this message’s body exclusive padding bytes.

• context_type & context_Context of the binary message.

Private Types

• typedef ContextT context_type• typedef MsgTimestamp Timestamp

12.103.2 Member Typedef Documentation

12.103.2.1 template<class ContextT> typedef ContextT stm::tools::local::xBaseMessage< Con-textT >::context_type [private]

Reimplemented in stm::tools::BaseMessage< ContextT >, stm::tools::McBspMessage< ContextT >, andstm::tools::PrintkBinMessage< ContextT >.

Definition at line 164 of file xbinmsg.hpp.

12.103.2.2 template<class ContextT> typedef MsgTimestamp stm::tools::local::xBaseMessage<ContextT >::Timestamp [private]

Reimplemented in stm::tools::BaseMessage< ContextT >.

Definition at line 165 of file xbinmsg.hpp.

12.103.3 Constructor & Destructor Documentation

12.103.3.1 template<class ContextT> stm::tools::local::xBaseMessage< ContextT>::xBaseMessage (context_type & context, dword flags, dword status) [inline, protected]

Definition at line 168 of file xbinmsg.hpp.

12.103.4 Member Function Documentation

12.103.4.1 template<class ContextT> void stm::tools::local::xBaseMessage< ContextT>::setTimestamp (word bfn, dword boardTimeSec, word boardTimeMs, dword seqNo) [inline,protected]

Definition at line 175 of file xbinmsg.hpp.

References stm::tools::MsgTimestamp::assign(), and stm::tools::local::xBaseMessage< ContextT>::timestamp_.

Referenced by stm::tools::BaseMessage< ContextT >::setFpgaTimestamp(), andstm::tools::BaseMessage< ContextT >::setUdpTimestamp().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 404: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.103 stm::tools::local::xBaseMessage< ContextT > Class Template Reference 403

12.103.4.2 template<class ContextT> void stm::tools::local::xBaseMessage< ContextT>::setTimestamp (word bfn, byte slot, word chip) [inline, protected]

Definition at line 187 of file xbinmsg.hpp.

References stm::tools::MsgTimestamp::assign(), and stm::tools::local::xBaseMessage< ContextT>::timestamp_.

12.103.5 Member Data Documentation

12.103.5.1 template<class ContextT> Timestamp stm::tools::local::xBaseMessage< ContextT>::timestamp_ [protected]

Timestamp of the binary message.

Definition at line 197 of file xbinmsg.hpp.

Referenced by stm::tools::local::xBaseMessage< ContextT >::setTimestamp(), andstm::tools::BaseMessage< ContextT >::timestamp().

12.103.5.2 template<class ContextT> dword stm::tools::local::xBaseMessage< ContextT>::flags_ [protected]

Flags of the binary message.

Definition at line 198 of file xbinmsg.hpp.

Referenced by stm::tools::BaseMessage< ContextT >::flags().

12.103.5.3 template<class ContextT> dword stm::tools::local::xBaseMessage< ContextT>::status_ [protected]

Status of the binary message.

Definition at line 199 of file xbinmsg.hpp.

Referenced by stm::tools::BaseMessage< ContextT >::setStatus(), and stm::tools::BaseMessage< Con-textT >::status().

12.103.5.4 template<class ContextT> byte_iterator_range stm::tools::local::xBaseMessage< Con-textT >::body_ [protected]

Byte range of this message’s body exclusive padding bytes.

Definition at line 200 of file xbinmsg.hpp.

Referenced by stm::tools::BaseMessage< ContextT >::body(), and stm::tools::BaseMessage< ContextT>::setBody().

12.103.5.5 template<class ContextT> context_type& stm::tools::local::xBaseMessage< ContextT>::context_ [protected]

Context of the binary message.

Definition at line 201 of file xbinmsg.hpp.

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

• xbinmsg.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 405: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.104 stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT > ClassTemplate Reference 404

12.104 stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT> Class Template Reference

#include <xbinmsg.hpp>

Inheritance diagram for stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >:

stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >

stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >

stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >

Collaboration diagram for stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >:

stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >

stm::tools::MsgTimestamp

timestamp_

stm::tools::local::xMsgTimestamp

12.104.1 Detailed Description

template<class DataT, class InputRangeT, class ContextT> classstm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >

stm::tools::BaseMessageContext implementation base class template.

Definition at line 139 of file xbinmsg.hpp.

Protected Member Functions

• xBaseMessageContext (data_type &data, inputrange_type &input)

Protected Attributes

• std::string type_• Timestamp timestamp_• data_type & data_• inputrange_type & input_

Private Types

• typedef DataT data_type• typedef InputRangeT inputrange_type• typedef ContextT context_type• typedef MsgTimestamp Timestamp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 406: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.104 stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT > ClassTemplate Reference 405

12.104.2 Member Typedef Documentation

12.104.2.1 template<class DataT, class InputRangeT, class ContextT> typedef DataTstm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >::data_type[private]

Reimplemented in stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >, andstm::tools::BinMessageContext< DataT, InputRangeT, ContextT >.

Definition at line 141 of file xbinmsg.hpp.

12.104.2.2 template<class DataT, class InputRangeT, class ContextT> typedef InputRangeTstm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >::inputrange_type[private]

Reimplemented in stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >, andstm::tools::BinMessageContext< DataT, InputRangeT, ContextT >.

Definition at line 142 of file xbinmsg.hpp.

12.104.2.3 template<class DataT, class InputRangeT, class ContextT> typedef ContextTstm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >::context_type[private]

Reimplemented in stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >, andstm::tools::BinMessageContext< DataT, InputRangeT, ContextT >.

Definition at line 143 of file xbinmsg.hpp.

12.104.2.4 template<class DataT, class InputRangeT, class ContextT> typedef MsgTimes-tamp stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >::Timestamp[private]

Reimplemented in stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >.

Definition at line 144 of file xbinmsg.hpp.

12.104.3 Constructor & Destructor Documentation

12.104.3.1 template<class DataT, class InputRangeT, class ContextT>stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >::xBaseMessageContext(data_type & data, inputrange_type & input) [inline, protected]

Definition at line 147 of file xbinmsg.hpp.

12.104.4 Member Data Documentation

12.104.4.1 template<class DataT, class InputRangeT, class ContextT> std::stringstm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >::type_-[protected]

Definition at line 153 of file xbinmsg.hpp.

Referenced by stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >::setType(), andstm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >::type().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 407: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.105 stm::tools::local::xBinMessage< ContextT > Class Template Reference 406

12.104.4.2 template<class DataT, class InputRangeT, class ContextT> Timestampstm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >::timestamp_-[protected]

Definition at line 154 of file xbinmsg.hpp.

Referenced by stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >::setTimestamp(), andstm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >::timestamp().

12.104.4.3 template<class DataT, class InputRangeT, class ContextT> data_type&stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >::data_-[protected]

Definition at line 155 of file xbinmsg.hpp.

Referenced by stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >::data().

12.104.4.4 template<class DataT, class InputRangeT, class ContextT> inputrange_-type& stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >::input_[protected]

Definition at line 156 of file xbinmsg.hpp.

Referenced by stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >::input().

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

• xbinmsg.hpp

12.105 stm::tools::local::xBinMessage< ContextT > Class Template Reference

#include <xbinmsg.hpp>

Inheritance diagram for stm::tools::local::xBinMessage< ContextT >:

stm::tools::local::xBinMessage< ContextT >

stm::tools::BinMessage< ContextT >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 408: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.105 stm::tools::local::xBinMessage< ContextT > Class Template Reference 407

Collaboration diagram for stm::tools::local::xBinMessage< ContextT >:

stm::tools::local::xBinMessage< ContextT >

stm::tools::BaseMessage< ContextT >

message_

stm::byte_iterator_range

stm::tools::local::xBaseMessage< ContextT >

body_

stm::tools::MsgTimestamp

timestamp_

stm::tools::local::xMsgTimestamp

12.105.1 Detailed Description

template<class ContextT> class stm::tools::local::xBinMessage< ContextT >

stm::tools::BinMessage implementation base class template.

Definition at line 397 of file xbinmsg.hpp.

Protected Member Functions

• xBinMessage (const byte ∗first, const byte ∗last, context_type &context, dword flags)

Protected Attributes

• context_type & context_• dword flags_• basemessage_type ∗ message_

Private Types

• typedef ContextT context_type• typedef BaseMessage< ContextT > basemessage_type

12.105.2 Member Typedef Documentation

12.105.2.1 template<class ContextT> typedef ContextT stm::tools::local::xBinMessage< Con-textT >::context_type [private]

Reimplemented in stm::tools::BinMessage< ContextT >.

Definition at line 399 of file xbinmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 409: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.106 stm::tools::local::xBinMessageContext< ContextT > Class Template Reference 408

12.105.2.2 template<class ContextT> typedef BaseMessage<ContextT>stm::tools::local::xBinMessage< ContextT >::basemessage_type [private]

Reimplemented in stm::tools::BinMessage< ContextT >.

Definition at line 400 of file xbinmsg.hpp.

12.105.3 Constructor & Destructor Documentation

12.105.3.1 template<class ContextT> stm::tools::local::xBinMessage< ContextT >::xBinMessage(const byte ∗ first, const byte ∗ last, context_type & context, dword flags) [inline,protected]

Definition at line 404 of file xbinmsg.hpp.

12.105.4 Member Data Documentation

12.105.4.1 template<class ContextT> context_type& stm::tools::local::xBinMessage< ContextT>::context_ [protected]

Definition at line 415 of file xbinmsg.hpp.

Referenced by stm::tools::BinMessage< ContextT >::context(), and stm::tools::BinMessage< ContextT>::type().

12.105.4.2 template<class ContextT> dword stm::tools::local::xBinMessage< ContextT>::flags_ [protected]

Definition at line 416 of file xbinmsg.hpp.

Referenced by stm::tools::BinMessage< ContextT >::flags().

12.105.4.3 template<class ContextT> basemessage_type∗ stm::tools::local::xBinMessage< Con-textT >::message_ [protected]

Definition at line 417 of file xbinmsg.hpp.

Referenced by stm::tools::BinMessage< ContextT >::body(), stm::tools::BinMessage< ContextT>::status(), stm::tools::BinMessage< ContextT >::timestamp(), stm::tools::BinMessage< ContextT>::type(), and stm::tools::BinMessage< ContextT >::∼BinMessage().

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

• xbinmsg.hpp

12.106 stm::tools::local::xBinMessageContext< ContextT > Class Template Ref-erence

#include <xbinmsg.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 410: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.106 stm::tools::local::xBinMessageContext< ContextT > Class Template Reference 409

Inheritance diagram for stm::tools::local::xBinMessageContext< ContextT >:

stm::tools::local::xBinMessageContext< ContextT >

stm::tools::BinMessageContext< ContextT >

Collaboration diagram for stm::tools::local::xBinMessageContext< ContextT >:

stm::tools::local::xBinMessageContext< ContextT >

stm::tools::local::xBinMessageGap

gap_

12.106.1 Detailed Description

template<class ContextT> class stm::tools::local::xBinMessageContext< ContextT >

stm::tools::BinMessageContext implementation base class template.

Definition at line 273 of file xbinmsg.hpp.

Protected Types

• typedef ContextT context_typeContext type of the messages to be scanned.

• typedef BaseMessage< ContextT > basemessage_typeCommon base type of all message types registered for the factory.

• typedef basemessage_type ∗(∗ CreateFct )(const byte ∗, const byte ∗, context_type &, dword)Function type of the message create functions.

Protected Member Functions

• xBinMessageContext ()Constructor.

• basemessage_type ∗ createMessage (const byte ∗first, const byte ∗last, context_type &context,dword flags)

Create a message object of one of the message types registered from the range [first, last) read from contextaccording to flags and return a pointer to it.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 411: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.106 stm::tools::local::xBinMessageContext< ContextT > Class Template Reference 410

Static Protected Member Functions

• template<template< class > class Message>static basemessage_type ∗ create (const byte ∗first, const byte ∗last, context_type &context, dwordflags)

Member function template allocating a Message<ContextT> message object and returning a pointer to it.

Protected Attributes

• xBinMessageGap gap_Curreent message gap.

• std::set< CreateFct > creation_Set of creation function addresses of the message types registered.

• std::set< CreateFct >::const_iterator crit_If not the past-the-end iterator, iterator referencing the creation function of the message type most recentlycreated.

12.106.2 Member Typedef Documentation

12.106.2.1 template<class ContextT> typedef ContextT stm::tools::local::xBinMessageContext<ContextT >::context_type [protected]

Context type of the messages to be scanned.

Reimplemented in stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >.

Definition at line 277 of file xbinmsg.hpp.

12.106.2.2 template<class ContextT> typedef BaseMessage<ContextT>stm::tools::local::xBinMessageContext< ContextT >::basemessage_type [protected]

Common base type of all message types registered for the factory.

Reimplemented in stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >.

Definition at line 280 of file xbinmsg.hpp.

12.106.2.3 template<class ContextT> typedef basemessage_type∗(∗stm::tools::local::xBinMessageContext< ContextT >::CreateFct)(const byte ∗, const byte ∗,context_type &, dword) [protected]

Function type of the message create functions.

Instances of CreateFct are held in the set creation_.

12.106.3 Constructor & Destructor Documentation

12.106.3.1 template<class ContextT> stm::tools::local::xBinMessageContext< ContextT>::xBinMessageContext () [inline, protected]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 412: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.106 stm::tools::local::xBinMessageContext< ContextT > Class Template Reference 411

Constructor.

Definition at line 287 of file xbinmsg.hpp.

References stm::tools::local::xBinMessageContext< ContextT >::creation_, andstm::tools::local::xBinMessageContext< ContextT >::crit_.

12.106.4 Member Function Documentation

12.106.4.1 template<class ContextT> template<template< class > class Message> staticbasemessage_type∗ stm::tools::local::xBinMessageContext< ContextT >::create (const byte ∗ first,const byte ∗ last, context_type & context, dword flags) [inline, static, protected]

Member function template allocating a Message<ContextT> message object and returning a pointer to it.

The template template parameter Message shall be chosen that Message<ContextT> is publicly derivedfrom BaseMessage<ContextT>.

Definition at line 299 of file xbinmsg.hpp.

12.106.4.2 template<class ContextT> basemessage_type∗ stm::tools::local::xBinMessageContext<ContextT >::createMessage (const byte ∗ first, const byte ∗ last, context_type & context, dwordflags) [inline, protected]

Create a message object of one of the message types registered from the range [first, last) read from contextaccording to flags and return a pointer to it.

Definition at line 313 of file xbinmsg.hpp.

References stm::tools::local::xBinMessageContext< ContextT >::creation_-, stm::tools::local::xBinMessageContext< ContextT >::crit_, stm::tools::local::xBinMessageContext<ContextT >::gap_, stm::tools::local::xBinMessageGap::length_, stm::tools::BaseMessage<ContextT >::NoError, stm::tools::local::xBinMessageGap::offset_, StmDebugAidsVerify, andstm::tools::BaseMessage< ContextT >::ThrowOnError.

12.106.5 Member Data Documentation

12.106.5.1 template<class ContextT> xBinMessageGap stm::tools::local::xBinMessageContext<ContextT >::gap_ [protected]

Curreent message gap.

Definition at line 384 of file xbinmsg.hpp.

Referenced by stm::tools::local::xBinMessageContext< ContextT >::createMessage(), andstm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::gap().

12.106.5.2 template<class ContextT> std::set<CreateFct> stm::tools::local::xBinMessageContext<ContextT >::creation_ [protected]

Set of creation function addresses of the message types registered.

Definition at line 387 of file xbinmsg.hpp.

Referenced by stm::tools::local::xBinMessageContext< ContextT >::createMessage(),stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::registerMessageType(), andstm::tools::local::xBinMessageContext< ContextT >::xBinMessageContext().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 413: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.107 stm::tools::local::xBinMessageGap Class Reference 412

12.106.5.3 template<class ContextT> std::set<CreateFct>::const_iteratorstm::tools::local::xBinMessageContext< ContextT >::crit_ [protected]

If not the past-the-end iterator, iterator referencing the creation function of the message type most recentlycreated.

Definition at line 391 of file xbinmsg.hpp.

Referenced by stm::tools::local::xBinMessageContext< ContextT >::createMessage(), andstm::tools::local::xBinMessageContext< ContextT >::xBinMessageContext().

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

• xbinmsg.hpp

12.107 stm::tools::local::xBinMessageGap Class Reference

#include <xbinmsg.hpp>

Inheritance diagram for stm::tools::local::xBinMessageGap:

stm::tools::local::xBinMessageGap

stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap

12.107.1 Detailed Description

stm::tools::BinMessageContext::Gap implementation base class.

Definition at line 254 of file xbinmsg.hpp.

Protected Types

• typedef xBinMessageGap GapImpl

Protected Member Functions

• xBinMessageGap ()

Protected Attributes

• long long offset_• long long length_

Friends

• class xBinMessageContext

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 414: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.108 stm::local::xcondition Class Reference 413

12.107.2 Member Typedef Documentation

12.107.2.1 typedef xBinMessageGap stm::tools::local::xBinMessageGap::GapImpl[protected]

Definition at line 259 of file xbinmsg.hpp.

12.107.3 Constructor & Destructor Documentation

12.107.3.1 stm::tools::local::xBinMessageGap::xBinMessageGap () [inline, protected]

Definition at line 261 of file xbinmsg.hpp.

12.107.4 Friends And Related Function Documentation

12.107.4.1 friend class xBinMessageContext [friend]

Definition at line 256 of file xbinmsg.hpp.

12.107.5 Member Data Documentation

12.107.5.1 long long stm::tools::local::xBinMessageGap::offset_ [protected]

Definition at line 266 of file xbinmsg.hpp.

Referenced by stm::tools::local::xBinMessageContext< ContextT >::createMessage(), andstm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap::offset().

12.107.5.2 long long stm::tools::local::xBinMessageGap::length_ [protected]

Definition at line 267 of file xbinmsg.hpp.

Referenced by stm::tools::local::xBinMessageContext< ContextT >::createMessage(),stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap::length(), andstm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::Gap::operator bool().

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

• xbinmsg.hpp

12.108 stm::local::xcondition Class Reference

#include <divxaids.hpp>

Inheritance diagram for stm::local::xcondition:

stm::local::xcondition

stm::condition

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 415: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.109 stm::local::xcrc< RemPolT > Class Template Reference 414

12.108.1 Detailed Description

stm::condition implementation base class.

Definition at line 543 of file divxaids.hpp.

Public Member Functions

• bool wait_ (scoped_lock &lock, int64 absTimeMs)

Protected Member Functions

• xcondition ()

Protected Attributes

• StmCondition cond_

12.108.2 Constructor & Destructor Documentation

12.108.2.1 stm::local::xcondition::xcondition () [inline, protected]

Definition at line 549 of file divxaids.hpp.

12.108.3 Member Data Documentation

12.108.3.1 StmCondition stm::local::xcondition::cond_ [protected]

Definition at line 553 of file divxaids.hpp.

Referenced by stm::condition::broadcast(), stm::condition::condition(), stm::condition::signal(), wait_(),and stm::condition::∼condition().

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

• divxaids.hpp

12.109 stm::local::xcrc< RemPolT > Class Template Reference

#include <genxcrc.hpp>

Inheritance diagram for stm::local::xcrc< RemPolT >:

stm::local::xcrc< RemPolT >

stm::crc< RemPolT >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 416: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.109 stm::local::xcrc< RemPolT > Class Template Reference 415

12.109.1 Detailed Description

template<typename RemPolT> class stm::local::xcrc< RemPolT >

stm::crc implementation base class template.

Definition at line 125 of file genxcrc.hpp.

Protected Types

• enum {

ByteLen = CHAR_BIT,

GenPolDegree = sizeof (rempol_type) ∗ ByteLen,

TopByteOffset = GenPolDegree - ByteLen,

TabDim = 1 << ByteLen,

TopCoeffMask = 1 << (GenPolDegree - 1) }• typedef RemPolT rempol_type

Protected Member Functions

• xcrc (rempol_type generatorPolynomial, rempol_type initialRemainderPolynomial, bool reflectIn-put)

Constructor.

• ∼xcrc ()Destructor.

Static Protected Member Functions

• static rempol_type reflect (rempol_type data, size_t bits)

Protected Attributes

• rempol_type tab_ [TabDim]CRC lookup table.

• unsigned char ∗ reflect_Input reflection table.

• const rempol_type generatorPolynomial_CRC generator polynomial of degree GenPolDegree.

• const rempol_type defaultInitialRemainderPolynomial_Default initial remainder polynomial for CRC checks.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 417: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.109 stm::local::xcrc< RemPolT > Class Template Reference 416

12.109.2 Member Typedef Documentation

12.109.2.1 template<typename RemPolT> typedef RemPolT stm::local::xcrc< RemPolT>::rempol_type [protected]

Reimplemented in stm::crc< RemPolT >.

Definition at line 128 of file genxcrc.hpp.

12.109.3 Member Enumeration Documentation

12.109.3.1 template<typename RemPolT> anonymous enum [protected]

Enumerator:

ByteLenGenPolDegreeTopByteOffsetTabDimTopCoeffMask

Definition at line 129 of file genxcrc.hpp.

12.109.4 Constructor & Destructor Documentation

12.109.4.1 template<typename RemPolT> stm::local::xcrc< RemPolT >::xcrc (rempol_typegeneratorPolynomial, rempol_type initialRemainderPolynomial, bool reflectInput) [inline,protected]

Constructor.

Definition at line 140 of file genxcrc.hpp.

References stm::local::xcrc< RemPolT >::ByteLen, stm::local::xcrc< RemPolT>::generatorPolynomial_, stm::local::xcrc< RemPolT >::GenPolDegree, stm::local::xcrc< Rem-PolT >::reflect(), stm::local::xcrc< RemPolT >::reflect_, stm::local::xcrc< RemPolT >::tab_,stm::local::xcrc< RemPolT >::TabDim, and stm::local::xcrc< RemPolT >::TopCoeffMask.

12.109.4.2 template<typename RemPolT> stm::local::xcrc< RemPolT >::∼xcrc () [inline,protected]

Destructor.

Definition at line 176 of file genxcrc.hpp.

References stm::local::xcrc< RemPolT >::reflect_.

12.109.5 Member Function Documentation

12.109.5.1 template<typename RemPolT> static rempol_type stm::local::xcrc< RemPolT>::reflect (rempol_type data, size_t bits) [inline, static, protected]

Definition at line 181 of file genxcrc.hpp.

Referenced by stm::local::xcrc< RemPolT >::xcrc().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 418: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.110 stm::tools::local::xCt Class Reference 417

12.109.6 Member Data Documentation

12.109.6.1 template<typename RemPolT> rempol_type stm::local::xcrc< RemPolT >::tab_-[TabDim] [protected]

CRC lookup table.

Definition at line 193 of file genxcrc.hpp.

Referenced by stm::local::xcrc< RemPolT >::xcrc().

12.109.6.2 template<typename RemPolT> unsigned char∗ stm::local::xcrc< RemPolT>::reflect_ [protected]

Input reflection table.

Definition at line 196 of file genxcrc.hpp.

Referenced by stm::crc< RemPolT >::inputReflection(), stm::local::xcrc< RemPolT >::xcrc(), andstm::local::xcrc< RemPolT >::∼xcrc().

12.109.6.3 template<typename RemPolT> const rempol_type stm::local::xcrc< RemPolT>::generatorPolynomial_ [protected]

CRC generator polynomial of degree GenPolDegree.

Definition at line 199 of file genxcrc.hpp.

Referenced by stm::crc< RemPolT >::generatorPolynomial(), and stm::local::xcrc< RemPolT >::xcrc().

12.109.6.4 template<typename RemPolT> const rempol_type stm::local::xcrc< RemPolT>::defaultInitialRemainderPolynomial_ [protected]

Default initial remainder polynomial for CRC checks.

Definition at line 202 of file genxcrc.hpp.

Referenced by stm::crc< RemPolT >::defaultInitialRemainderPolynomial().

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

• genxcrc.hpp

12.110 stm::tools::local::xCt Class Reference

#include <xctaids.hpp>

Inheritance diagram for stm::tools::local::xCt:

stm::tools::local::xCt

stm::tools::Ct

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 419: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.110 stm::tools::local::xCt Class Reference 418

Collaboration diagram for stm::tools::local::xCt:

stm::tools::local::xCtstm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >logger_

stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >

stm::logger_base

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

std::basic_ostringstream< std::string ::value_type, std::string ::traits_type, std::string ::allocator_type >

stm::local::basic_xlogger< std::string, lockingPolicy >

stm::local::basic_xlogger< StringT, lockingPolicy >::Stream output

stm::local::basic_xlogger< StringT, lockingPolicy >output

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmtfmt

< std::string, lockingPolicy >

< std::string, stdIndent, lineLength, lockingPolicy >

12.110.1 Detailed Description

stm::tools::Ct implementation base class.

Definition at line 160 of file xctaids.hpp.

Protected Types

• typedef xCt impl• typedef logger Logger

Protected Member Functions

• xCt (Logger &logger, int mode)

Protected Attributes

• std::string ciCommentOption_• Logger & logger_• int mode_

12.110.2 Member Typedef Documentation

12.110.2.1 typedef xCt stm::tools::local::xCt::impl [protected]

Definition at line 163 of file xctaids.hpp.

12.110.2.2 typedef logger stm::tools::local::xCt::Logger [protected]

Reimplemented in stm::tools::Ct.

Definition at line 165 of file xctaids.hpp.

12.110.3 Constructor & Destructor Documentation

12.110.3.1 stm::tools::local::xCt::xCt (Logger & logger, int mode) [inline, protected]

Definition at line 167 of file xctaids.hpp.

12.110.4 Member Data Documentation

12.110.4.1 std::string stm::tools::local::xCt::ciCommentOption_ [protected]

Definition at line 172 of file xctaids.hpp.

Referenced by stm::tools::Ct::getCiCommentOption(), and stm::tools::Ct::setCiCommentOption().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 420: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.111 stm::tools::local::xCtOperation Class Reference 419

12.110.4.2 Logger& stm::tools::local::xCt::logger_ [mutable, protected]

Definition at line 173 of file xctaids.hpp.

Referenced by stm::tools::Ct::execCommand(), and stm::tools::Ct::logger().

12.110.4.3 int stm::tools::local::xCt::mode_ [protected]

Definition at line 174 of file xctaids.hpp.

Referenced by stm::tools::Ct::execCommand(), stm::tools::Ct::getMode(), and stm::tools::Ct::setMode().

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

• xctaids.hpp

12.111 stm::tools::local::xCtOperation Class Reference

#include <xctaids.hpp>

Inheritance diagram for stm::tools::local::xCtOperation:

stm::tools::local::xCtOperation

stm::tools::CtOperation

Collaboration diagram for stm::tools::local::xCtOperation:

stm::tools::local::xCtOperation

stm::tools::Ct ct_stm::tools::local::xCtstm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >logger_

stm::basic_logger< std::string, stdIndent, lineLength, lockingPolicy >

stm::logger_base

stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

std::basic_ostringstream< std::string ::value_type, std::string ::traits_type, std::string ::allocator_type >

stm::local::basic_xlogger< std::string, lockingPolicy >

stm::local::basic_xlogger< StringT, lockingPolicy >::Stream output

stm::local::basic_xlogger< StringT, lockingPolicy >output

stm::local::basic_xlogger< StringT, lockingPolicy >::Fmtfmt

< std::string, lockingPolicy >

< std::string, stdIndent, lineLength, lockingPolicy >

stm::tools::local::xCtOperation::LabelListlabelList_

12.111.1 Detailed Description

stm::tools::CtOperation implementation base class.

Definition at line 179 of file xctaids.hpp.

Protected Types

• typedef xCtOperation impl• typedef logger Logger

Protected Member Functions

• xCtOperation (Ct &ct, unsigned int timeoutSec)

Protected Attributes

• std::string vobRoot_• std::string currentReplica_

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 421: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.111 stm::tools::local::xCtOperation Class Reference 420

• unsigned int mastershipTimeout_• LabelList labelList_ [2]• bool labelsPrepared_• Ct & ct_

Classes

• class LabelList

12.111.2 Member Typedef Documentation

12.111.2.1 typedef xCtOperation stm::tools::local::xCtOperation::impl [protected]

Definition at line 182 of file xctaids.hpp.

12.111.2.2 typedef logger stm::tools::local::xCtOperation::Logger [protected]

Definition at line 184 of file xctaids.hpp.

12.111.3 Constructor & Destructor Documentation

12.111.3.1 stm::tools::local::xCtOperation::xCtOperation (Ct & ct, unsigned int timeoutSec)[inline, protected]

Definition at line 207 of file xctaids.hpp.

12.111.4 Member Data Documentation

12.111.4.1 std::string stm::tools::local::xCtOperation::vobRoot_ [protected]

Definition at line 213 of file xctaids.hpp.

Referenced by stm::tools::CtOperation::getCurrentReplica(), stm::tools::CtOperation::getVobRoot(),stm::tools::CtOperation::isLabel(), stm::tools::CtOperation::prepareLabels(), andstm::tools::CtOperation::setVobRoot().

12.111.4.2 std::string stm::tools::local::xCtOperation::currentReplica_ [mutable,protected]

Definition at line 214 of file xctaids.hpp.

Referenced by stm::tools::CtOperation::getCurrentReplica().

12.111.4.3 unsigned int stm::tools::local::xCtOperation::mastershipTimeout_ [protected]

Definition at line 215 of file xctaids.hpp.

Referenced by stm::tools::CtOperation::getMastershipTimeout(), stm::tools::CtOperation::obtainReplicaMastership(),and stm::tools::CtOperation::setMastershipTimeout().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 422: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.112 stm::tools::local::xCtOperation::LabelList Class Reference 421

12.111.4.4 LabelList stm::tools::local::xCtOperation::labelList_[2] [protected]

Definition at line 216 of file xctaids.hpp.

Referenced by stm::tools::CtOperation::addLabels(), stm::tools::CtOperation::label(),stm::tools::CtOperation::labelCount(), and stm::tools::CtOperation::prepareLabels().

12.111.4.5 bool stm::tools::local::xCtOperation::labelsPrepared_ [protected]

Definition at line 217 of file xctaids.hpp.

Referenced by stm::tools::CtOperation::prepareLabels().

12.111.4.6 Ct& stm::tools::local::xCtOperation::ct_ [mutable, protected]

Definition at line 218 of file xctaids.hpp.

Referenced by stm::tools::CtOperation::checkOut(), stm::tools::CtOperation::ct(),stm::tools::CtOperation::label(), stm::tools::CtOperation::obtainReplicaMastership(), andstm::tools::CtOperation::prepareLabels().

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

• xctaids.hpp

12.112 stm::tools::local::xCtOperation::LabelList Class Reference

#include <xctaids.hpp>

12.112.1 Detailed Description

Definition at line 186 of file xctaids.hpp.

Public Member Functions

• void prepare (bool replace)• const std::string & getCommand () const

Private Attributes

• std::string command_

12.112.2 Member Function Documentation

12.112.2.1 void stm::tools::local::xCtOperation::LabelList::prepare (bool replace) [inline]

Definition at line 189 of file xctaids.hpp.

Referenced by stm::tools::CtOperation::prepareLabels().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 423: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.113 stm::local::xdirdata< DataT, EnvT > Class Template Reference 422

12.112.2.2 const std::string& stm::tools::local::xCtOperation::LabelList::getCommand () const[inline]

Definition at line 198 of file xctaids.hpp.

Referenced by stm::tools::CtOperation::label().

12.112.3 Member Data Documentation

12.112.3.1 std::string stm::tools::local::xCtOperation::LabelList::command_ [private]

Definition at line 204 of file xctaids.hpp.

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

• xctaids.hpp

12.113 stm::local::xdirdata< DataT, EnvT > Class Template Reference

#include <filesysxaids.hpp>

Inheritance diagram for stm::local::xdirdata< DataT, EnvT >:

stm::local::xdirdata< DataT, EnvT >

stm::path< DataT, EnvT >::dirdata

Collaboration diagram for stm::local::xdirdata< DataT, EnvT >:

stm::local::xdirdata< DataT, EnvT >

DataT

parent_

EnvT

env_

12.113.1 Detailed Description

template<class DataT, class EnvT> class stm::local::xdirdata< DataT, EnvT >

stm::path::dirdata implementation base class template.

Definition at line 179 of file filesysxaids.hpp.

Protected Types

• typedef xdirdata< DataT, EnvT > impl

Protected Member Functions

• xdirdata (EnvT &env)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 424: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.113 stm::local::xdirdata< DataT, EnvT > Class Template Reference 423

• xdirdata (const boost::filesystem::path &dirpath, DataT &parent)

Protected Attributes

• const boost::filesystem::path & dirpath_• DataT ∗ parent_• EnvT & env_

12.113.2 Member Typedef Documentation

12.113.2.1 template<class DataT, class EnvT> typedef xdirdata<DataT, EnvT>stm::local::xdirdata< DataT, EnvT >::impl [protected]

Reimplemented in stm::path< NameT >::dirdata< DataT, EnvT >.

Definition at line 182 of file filesysxaids.hpp.

12.113.3 Constructor & Destructor Documentation

12.113.3.1 template<class DataT, class EnvT> stm::local::xdirdata< DataT, EnvT >::xdirdata(EnvT & env) [inline, protected]

Definition at line 184 of file filesysxaids.hpp.

12.113.3.2 template<class DataT, class EnvT> stm::local::xdirdata< DataT, EnvT >::xdirdata(const boost::filesystem::path & dirpath, DataT & parent) [inline, protected]

Definition at line 190 of file filesysxaids.hpp.

12.113.4 Member Data Documentation

12.113.4.1 template<class DataT, class EnvT> const boost::filesystem::path&stm::local::xdirdata< DataT, EnvT >::dirpath_ [protected]

Definition at line 196 of file filesysxaids.hpp.

Referenced by stm::path< NameT >::dirdata< DataT, EnvT >::dirpath().

12.113.4.2 template<class DataT, class EnvT> DataT∗ stm::local::xdirdata< DataT, EnvT>::parent_ [protected]

Definition at line 197 of file filesysxaids.hpp.

Referenced by stm::path< NameT >::dirdata< DataT, EnvT >::parent().

12.113.4.3 template<class DataT, class EnvT> EnvT& stm::local::xdirdata< DataT, EnvT>::env_ [protected]

Definition at line 198 of file filesysxaids.hpp.

Referenced by stm::path< NameT >::dirdata< DataT, EnvT >::env().

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

• filesysxaids.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 425: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.114 stm::tools::local::xDspMessage< ContextT > Class Template Reference 424

12.114 stm::tools::local::xDspMessage< ContextT > Class Template Reference

#include <xdspmsg.hpp>

Inheritance diagram for stm::tools::local::xDspMessage< ContextT >:

stm::tools::local::xDspMessage< ContextT >

stm::tools::DspMessage< ContextT >

Collaboration diagram for stm::tools::local::xDspMessage< ContextT >:

stm::tools::local::xDspMessage< ContextT >stm::tools::BinMessage< ContextT >parent_

stm::byte_iterator_range

body_

stm::tools::BaseMessage< ContextT >

stm::tools::local::xBaseMessage< ContextT >

body_

stm::tools::local::xBinMessage< ContextT >message_

stm::tools::MsgTimestamptimestamp_

stm::tools::local::xMsgTimestamp

stm::tools::local::xTraceHeader

traceHeader_

12.114.1 Detailed Description

template<class ContextT> class stm::tools::local::xDspMessage< ContextT >

stm::tools::DspMessage implementation base class template.

Definition at line 164 of file xdspmsg.hpp.

Protected Member Functions

• xDspMessage (const parent_type &parent)

Protected Attributes

• xTraceHeader traceHeader_If traceHeader_.size_ > 0, trace header.

• dword status_Status of the DSP message.

• byte_iterator_range body_Byte range consisting of the message’s body excluding Length and OpCode fields.

• const parent_type & parent_

Private Types

• typedef ContextT context_type• typedef BinMessage< ContextT > parent_type

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 426: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.114 stm::tools::local::xDspMessage< ContextT > Class Template Reference 425

12.114.2 Member Typedef Documentation

12.114.2.1 template<class ContextT> typedef ContextT stm::tools::local::xDspMessage< Con-textT >::context_type [private]

Reimplemented in stm::tools::DspMessage< ContextT >.

Definition at line 166 of file xdspmsg.hpp.

12.114.2.2 template<class ContextT> typedef BinMessage<ContextT>stm::tools::local::xDspMessage< ContextT >::parent_type [private]

Reimplemented in stm::tools::DspMessage< ContextT >.

Definition at line 167 of file xdspmsg.hpp.

12.114.3 Constructor & Destructor Documentation

12.114.3.1 template<class ContextT> stm::tools::local::xDspMessage< ContextT>::xDspMessage (const parent_type & parent) [inline, protected]

Definition at line 170 of file xdspmsg.hpp.

12.114.4 Member Data Documentation

12.114.4.1 template<class ContextT> xTraceHeader stm::tools::local::xDspMessage< ContextT>::traceHeader_ [protected]

If traceHeader_.size_ > 0, trace header.

Definition at line 176 of file xdspmsg.hpp.

Referenced by stm::tools::DspMessage< ContextT >::traceHeader().

12.114.4.2 template<class ContextT> dword stm::tools::local::xDspMessage< ContextT>::status_ [protected]

Status of the DSP message.

Definition at line 177 of file xdspmsg.hpp.

Referenced by stm::tools::DspMessage< ContextT >::DspMessage(), and stm::tools::DspMessage< Con-textT >::status().

12.114.4.3 template<class ContextT> byte_iterator_range stm::tools::local::xDspMessage< Con-textT >::body_ [protected]

Byte range consisting of the message’s body excluding Length and OpCode fields.

Definition at line 178 of file xdspmsg.hpp.

Referenced by stm::tools::DspMessage< ContextT >::body(), and stm::tools::DspMessage< ContextT>::DspMessage().

12.114.4.4 template<class ContextT> const parent_type& stm::tools::local::xDspMessage< Con-textT >::parent_ [protected]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 427: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.115 stm::local::xfilefind< PathContainerT > Class Template Reference 426

Definition at line 180 of file xdspmsg.hpp.

Referenced by stm::tools::DspMessage< ContextT >::DspMessage(), and stm::tools::DspMessage< Con-textT >::parent().

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

• xdspmsg.hpp

12.115 stm::local::xfilefind< PathContainerT > Class Template Reference

#include <filesysxaids.hpp>

Inheritance diagram for stm::local::xfilefind< PathContainerT >:

stm::local::xfilefind< PathContainerT >

stm::filefind< PathContainerT >

12.115.1 Detailed Description

template<class PathContainerT> class stm::local::xfilefind< PathContainerT >

stm::filefind implementation base class template.

Definition at line 805 of file filesysxaids.hpp.

Protected Types

• typedef PathContainerT pathcontainer_type• typedef pathcontainer_type::value_type path_type• typedef xfilefind< PathContainerT > impl

Protected Member Functions

• xfilefind (dword flags, const std::string &stem)• boost::filesystem::path partition (const std::string &spec, std::list< std::string > &parts, dword flags)

const

Static Protected Member Functions

• static void handlePath (pathcontainer_type ∗pathcontainer, const boost::filesystem::path &stem,const boost::filesystem::path &entry, std::list< std::string >::const_iterator part, std::list< std::string>::const_iterator partsEnd, dword flags)

Protected Attributes

• dword flags_• boost::filesystem::path stem_

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 428: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.115 stm::local::xfilefind< PathContainerT > Class Template Reference 427

Static Protected Attributes

• static const dword NoDirectories = 0x10000000• static const dword NoPlainFiles = 0x20000000• static const dword StoreRelative = 0x40000000

12.115.2 Member Typedef Documentation

12.115.2.1 template<class PathContainerT> typedef PathContainerT stm::local::xfilefind< Path-ContainerT >::pathcontainer_type [protected]

Reimplemented in stm::filefind< PathContainerT >.

Definition at line 808 of file filesysxaids.hpp.

12.115.2.2 template<class PathContainerT> typedef pathcontainer_type::value_typestm::local::xfilefind< PathContainerT >::path_type [protected]

Reimplemented in stm::filefind< PathContainerT >.

Definition at line 809 of file filesysxaids.hpp.

12.115.2.3 template<class PathContainerT> typedef xfilefind<PathContainerT>stm::local::xfilefind< PathContainerT >::impl [protected]

Reimplemented in stm::filefind< PathContainerT >.

Definition at line 810 of file filesysxaids.hpp.

12.115.3 Constructor & Destructor Documentation

12.115.3.1 template<class PathContainerT> stm::local::xfilefind< PathContainerT >::xfilefind(dword flags, const std::string & stem) [inline, protected]

Definition at line 1059 of file filesysxaids.hpp.

References stm::local::xfilefind< PathContainerT >::stem_.

12.115.4 Member Function Documentation

12.115.4.1 template<class PathContainerT> boost::filesystem::path stm::local::xfilefind< Path-ContainerT >::partition (const std::string & spec, std::list< std::string > & parts, dword flags)const [inline, protected]

Definition at line 1087 of file filesysxaids.hpp.

12.115.4.2 template<class PathContainerT> void stm::local::xfilefind< PathContainerT>::handlePath (pathcontainer_type ∗ pathcontainer, const boost::filesystem::path & stem,const boost::filesystem::path & entry, std::list< std::string >::const_iterator part, std::list<std::string >::const_iterator partsEnd, dword flags) [inline, static, protected]

Definition at line 1112 of file filesysxaids.hpp.

References stm::filespec::matches(), and StmDebugAidsVerify.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 429: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.116 stm::local::xfilespec Class Reference 428

12.115.5 Member Data Documentation

12.115.5.1 template<class PathContainerT> const dword stm::local::xfilefind< PathContainerT>::NoDirectories = 0x10000000 [static, protected]

Reimplemented in stm::filefind< PathContainerT >.

Definition at line 812 of file filesysxaids.hpp.

12.115.5.2 template<class PathContainerT> const dword stm::local::xfilefind< PathContainerT>::NoPlainFiles = 0x20000000 [static, protected]

Reimplemented in stm::filefind< PathContainerT >.

Definition at line 813 of file filesysxaids.hpp.

12.115.5.3 template<class PathContainerT> const dword stm::local::xfilefind< PathContainerT>::StoreRelative = 0x40000000 [static, protected]

Reimplemented in stm::filefind< PathContainerT >.

Definition at line 814 of file filesysxaids.hpp.

12.115.5.4 template<class PathContainerT> dword stm::local::xfilefind< PathContainerT>::flags_ [protected]

Definition at line 835 of file filesysxaids.hpp.

Referenced by stm::filefind< PathContainerT >::getFlags().

12.115.5.5 template<class PathContainerT> boost::filesystem::path stm::local::xfilefind< Path-ContainerT >::stem_ [protected]

Definition at line 837 of file filesysxaids.hpp.

Referenced by stm::filefind< PathContainerT >::getStem(), and stm::local::xfilefind< PathContainerT>::xfilefind().

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

• filesysxaids.hpp

12.116 stm::local::xfilespec Class Reference

#include <filesysxaids.hpp>

Inheritance diagram for stm::local::xfilespec:

stm::local::xfilespec

stm::filespec

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 430: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.116 stm::local::xfilespec Class Reference 429

12.116.1 Detailed Description

stm::filespec implementation base class.

Definition at line 553 of file filesysxaids.hpp.

Bitwise orable flags

• static const dword NoPathSeparators = 0x00010000• static const dword NoRootName = 0x00020000• static const dword MakeAbsolute = 0x00040000• static const dword NoCharClass = 0x00080000• static const dword NoBracketExpr = 0x00100000• static const dword UseExtRegularExpr = 0x00200000• static const dword UseMultipleDirOperator = 0x00400000

Protected Types

• typedef xfilespec impl

Protected Member Functions

• xfilespec (const std::string &fspec, dword flags)

Static Protected Member Functions

• static void partition (std::string &spec, std::list< std::string > &parts, dword flags=0, bool redu-ceParts=false)

If the xfilespec::NoPathSeparators flag is set or the xfilespec::MakeAbsolute flag is reset (the default), thefile system spec supplied shall not be absolute and its directory separator partitioned parts are stored inparts without directory separators.

Protected Attributes

• StmRe reRegular expression designating this xfilespec object.

• std::string fspecFile spec string defining this xfilespec object.

• dword flagsFlags of this xfilespec.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 431: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.116 stm::local::xfilespec Class Reference 430

Static Protected Attributes

• static StmReCtrl & reCtrl = rectrl::identity• static StmRe noBracketExprFileSpec = NULL• static StmRe noCharClassFileSpec = NULL• static StmRe fullFileSpec = NULL• static StmRe ereFileSpec = xfilespec::initialize ()• static dword id = 0

Static Private Member Functions

• static StmRe initialize ()Initialize regular expressions.

• static int append (StmMtcFctCmd cmd, StmQreMtc qreMtc)Append matched string.

• static int iappend (StmMtcFctCmd cmd, StmQreMtc qreMtc)Append matched string converted to lower case for WIN32.

• static int appChar (StmMtcFctCmd cmd, StmQreMtc qreMtc)Append matched char if any, escaped if necessary and converted to lower case for WIN32.

• static int appDot (StmMtcFctCmd cmd, StmQreMtc qreMtc)Handle ’?’.

• static int appDotSeq (StmMtcFctCmd cmd, StmQreMtc qreMtc)Handle ’∗’.

• static int starStarOp (StmMtcFctCmd cmd, StmQreMtc qreMtc)Handle ’∗∗’.

• static int appCirc (StmMtcFctCmd cmd, StmQreMtc qreMtc)Append ’∧’.

• static int bracketExpr (StmMtcFctCmd cmd, StmReMtc reMtc)Check, if at least one element was matched and handle directory separators.

• static int ereBracketExpr (StmMtcFctCmd cmd, StmReMtc reMtc)Check, if at least one element was matched.

• static int charClassExpr (StmMtcFctCmd cmd, StmReMtc reMtc)Handle char classes.

• static int collSymb (StmMtcFctCmd cmd, StmReMtc reMtc)Handle collation symbols.

• static int checkLeadingDot (StmMtcFctCmd cmd, StmReMtc reMtc)Check, if at least one element was matched and handle leading dot of filename expansion patterns.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 432: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.116 stm::local::xfilespec Class Reference 431

Friends

• class xfilefind

Classes

• struct EnvEnvironment for regular expression creation.

• struct RollbackRollback data for regular expression creation.

12.116.2 Member Typedef Documentation

12.116.2.1 typedef xfilespec stm::local::xfilespec::impl [protected]

Definition at line 558 of file filesysxaids.hpp.

12.116.3 Constructor & Destructor Documentation

12.116.3.1 stm::local::xfilespec::xfilespec (const std::string & fspec, dword flags) [inline,protected]

Definition at line 617 of file filesysxaids.hpp.

References stm::rectrl::initialize().

12.116.4 Member Function Documentation

12.116.4.1 void stm::local::xfilespec::partition (std::string & spec, std::list< std::string > & parts,dword flags = 0, bool reduceParts = false) [static, protected]

If the xfilespec::NoPathSeparators flag is set or the xfilespec::MakeAbsolute flag is reset (the default), thefile system spec supplied shall not be absolute and its directory separator partitioned parts are stored inparts without directory separators.

In this case spec is modified to hold the value supplied with all path separators changed to ’/’ for WIN32,if reduceParts is false (the default). Else if reduceParts is true, in spec the longest stem of spec containingno pattern matching operators according to flags is stored and this stem is deleted from parts.

If the xfilespec::NoPathSeparators flag is reset and the xfilespec::MakeAbsolute flag is set, the method par-titions the file system spec supplied by determining its longest absolute stem containing no pattern matchingoperators according to flags and stores it in spec. If necessary, the function boost::filesystem::initial_path()is used. The directory separator partitioned parts following this stem are stored in parts without directoryseparators.

The method throws if the spec is illegal.

Definition at line 1236 of file filesysaids.cpp.

References stm::filespec::containsUnescapedPatternMatchingOperator(), fspec, MakeAbsolute, andNoPathSeparators.

Referenced by stm::filespec::filespec().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 433: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.116 stm::local::xfilespec Class Reference 432

12.116.4.2 StmRe stm::local::xfilespec::initialize () [static, private]

Initialize regular expressions.

Definition at line 617 of file filesysaids.cpp.

References appChar(), appCirc(), appDot(), appDotSeq(), append(), bracketExpr(), charClassExpr(),checkLeadingDot(), collSymb(), ereBracketExpr(), ereFileSpec, EscRe, fullFileSpec, iappend(),stm::rectrl::identity, stm::rectrl::initialize(), noBracketExprFileSpec, noCharClassFileSpec, starStarOp(),stmQreActDef(), and stmReCreate().

12.116.4.3 int stm::local::xfilespec::append (StmMtcFctCmd cmd, StmQreMtc qreMtc)[static, private]

Append matched string.

Definition at line 809 of file filesysaids.cpp.

References StmMtcFctCmd::action, StmMtcFctCmd::deinit, StmMtcFctCmd::init,StmMtcFctCmd::rollback, StmDebugAidsVerify, stmQreMtcData(), stmQreMtcEnv(), stmQreMtcLen(),stmQreMtcSetData(), and stmQreMtcStr().

Referenced by initialize().

12.116.4.4 int stm::local::xfilespec::iappend (StmMtcFctCmd cmd, StmQreMtc qreMtc)[static, private]

Append matched string converted to lower case for WIN32.

Definition at line 841 of file filesysaids.cpp.

References StmMtcFctCmd::action, StmMtcFctCmd::deinit, StmMtcFctCmd::init,StmMtcFctCmd::rollback, StmDebugAidsVerify, stmQreMtcData(), stmQreMtcEnv(), stmQreMtcLen(),stmQreMtcSetData(), and stmQreMtcStr().

Referenced by initialize().

12.116.4.5 int stm::local::xfilespec::appChar (StmMtcFctCmd cmd, StmQreMtc qreMtc)[static, private]

Append matched char if any, escaped if necessary and converted to lower case for WIN32.

Definition at line 877 of file filesysaids.cpp.

References StmMtcFctCmd::action, StmMtcFctCmd::deinit, StmMtcFctCmd::init,StmMtcFctCmd::rollback, StmDebugAidsVerify, stmQreMtcData(), stmQreMtcEnv(), stmQreMtc-SetData(), stmQreMtcSimpleReMtcCount(), stmQreMtcStr(), and stm::rectrl::tolower.

Referenced by initialize().

12.116.4.6 int stm::local::xfilespec::appDot (StmMtcFctCmd cmd, StmQreMtc qreMtc)[static, private]

Handle ’?’.

Definition at line 938 of file filesysaids.cpp.

References StmMtcFctCmd::action, StmMtcFctCmd::deinit, StmMtcFctCmd::init, PsepChars,StmMtcFctCmd::rollback, StmDebugAidsVerify, stmQreMtcData(), stmQreMtcEnv(), stmQreMtc-SetData(), and stmQreMtcSimpleReMtcCount().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 434: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.116 stm::local::xfilespec Class Reference 433

Referenced by initialize().

12.116.4.7 int stm::local::xfilespec::appDotSeq (StmMtcFctCmd cmd, StmQreMtc qreMtc)[static, private]

Handle ’∗’.

Definition at line 973 of file filesysaids.cpp.

References StmMtcFctCmd::action, StmMtcFctCmd::deinit, StmMtcFctCmd::init, PsepChars,StmMtcFctCmd::rollback, StmDebugAidsVerify, stmQreMtcData(), stmQreMtcEnv(), stmQreMtc-SetData(), and stmQreMtcSimpleReMtcCount().

Referenced by initialize().

12.116.4.8 int stm::local::xfilespec::starStarOp (StmMtcFctCmd cmd, StmQreMtc qreMtc)[static, private]

Handle ’∗∗’.

Definition at line 1008 of file filesysaids.cpp.

References StmMtcFctCmd::action, StmMtcFctCmd::deinit, flags, StmMtcFctCmd::init,stm::local::xfilespec::Env::LastPart, stm::local::xfilespec::Env::PathSep, PsepChars, PsepRe,StmMtcFctCmd::rollback, StmDebugAidsVerify, stmQreMtcData(), stmQreMtcEnv(), stmQreMtc-SetData(), and UseMultipleDirOperator.

Referenced by initialize().

12.116.4.9 int stm::local::xfilespec::appCirc (StmMtcFctCmd cmd, StmQreMtc qreMtc)[static, private]

Append ’∧’.

Definition at line 1060 of file filesysaids.cpp.

References StmMtcFctCmd::action, StmMtcFctCmd::deinit, StmMtcFctCmd::init,StmMtcFctCmd::rollback, StmDebugAidsVerify, stmQreMtcData(), stmQreMtcEnv(), stmQreMtc-SetData(), and stmQreMtcSimpleReMtcCount().

Referenced by initialize().

12.116.4.10 int stm::local::xfilespec::bracketExpr (StmMtcFctCmd cmd, StmReMtc reMtc)[static, private]

Check, if at least one element was matched and handle directory separators.

Definition at line 1094 of file filesysaids.cpp.

References StmMtcFctCmd::action, PsepRe, StmDebugAidsVerify, StmMtcFctFail, stmReMtcEnv(), andstmReMtcLen().

Referenced by initialize().

12.116.4.11 int stm::local::xfilespec::ereBracketExpr (StmMtcFctCmd cmd, StmReMtc reMtc)[static, private]

Check, if at least one element was matched.

Definition at line 1106 of file filesysaids.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 435: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.116 stm::local::xfilespec Class Reference 434

References StmMtcFctCmd::action, StmMtcFctFail, and stmReMtcLen().

Referenced by initialize().

12.116.4.12 int stm::local::xfilespec::charClassExpr (StmMtcFctCmd cmd, StmReMtc reMtc)[static, private]

Handle char classes.

Definition at line 1116 of file filesysaids.cpp.

References StmMtcFctCmd::action, StmMtcFctCmd::deinit, StmMtcFctCmd::init,StmMtcFctCmd::rollback, StmDebugAidsVerify, stmReMtcData(), stmReMtcEnv(), stmReMtcLen(),stmReMtcSetData(), and stmReMtcStr().

Referenced by initialize().

12.116.4.13 int stm::local::xfilespec::collSymb (StmMtcFctCmd cmd, StmReMtc reMtc)[static, private]

Handle collation symbols.

Definition at line 1161 of file filesysaids.cpp.

References StmMtcFctCmd::action, StmMtcFctCmd::deinit, StmMtcFctCmd::init,StmMtcFctCmd::rollback, StmDebugAidsVerify, stmReMtcData(), stmReMtcEnv(), stm-ReMtcMtermNr(), and stmReMtcSetData().

Referenced by initialize().

12.116.4.14 int stm::local::xfilespec::checkLeadingDot (StmMtcFctCmd cmd, StmReMtc reMtc)[static, private]

Check, if at least one element was matched and handle leading dot of filename expansion patterns.

Definition at line 1195 of file filesysaids.cpp.

References StmMtcFctCmd::action, StmMtcFctCmd::deinit, StmMtcFctCmd::init,StmMtcFctCmd::rollback, StmDebugAidsVerify, StmMtcFctFail, stmReMtcData(), stmReMtcEnv(),stmReMtcLen(), stmReMtcSetData(), and stmReMtcStr().

Referenced by initialize().

12.116.5 Friends And Related Function Documentation

12.116.5.1 friend class xfilefind [friend]

Definition at line 555 of file filesysxaids.hpp.

12.116.6 Member Data Documentation

12.116.6.1 const dword stm::local::xfilespec::NoPathSeparators = 0x00010000 [static,protected]

Reimplemented in stm::filespec.

Definition at line 562 of file filesysxaids.hpp.

Referenced by partition().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 436: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.116 stm::local::xfilespec Class Reference 435

12.116.6.2 const dword stm::local::xfilespec::NoRootName = 0x00020000 [static,protected]

Reimplemented in stm::filespec.

Definition at line 563 of file filesysxaids.hpp.

12.116.6.3 const dword stm::local::xfilespec::MakeAbsolute = 0x00040000 [static,protected]

Reimplemented in stm::filespec.

Definition at line 564 of file filesysxaids.hpp.

Referenced by partition().

12.116.6.4 const dword stm::local::xfilespec::NoCharClass = 0x00080000 [static,protected]

Reimplemented in stm::filespec.

Definition at line 565 of file filesysxaids.hpp.

12.116.6.5 const dword stm::local::xfilespec::NoBracketExpr = 0x00100000 [static,protected]

Reimplemented in stm::filespec.

Definition at line 566 of file filesysxaids.hpp.

12.116.6.6 const dword stm::local::xfilespec::UseExtRegularExpr = 0x00200000 [static,protected]

Reimplemented in stm::filespec.

Definition at line 567 of file filesysxaids.hpp.

12.116.6.7 const dword stm::local::xfilespec::UseMultipleDirOperator = 0x00400000 [static,protected]

Reimplemented in stm::filespec.

Definition at line 568 of file filesysxaids.hpp.

Referenced by starStarOp().

12.116.6.8 StmRe stm::local::xfilespec::re [protected]

Regular expression designating this xfilespec object.

Definition at line 653 of file filesysxaids.hpp.

Referenced by stm::filespec::filespec(), stm::filespec::matches(), and stm::filespec::reStr().

12.116.6.9 std::string stm::local::xfilespec::fspec [protected]

File spec string defining this xfilespec object.

Definition at line 656 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 437: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.116 stm::local::xfilespec Class Reference 436

Referenced by stm::filespec::beginsWithRootDirectory(), stm::filespec::beginsWithRootName(),stm::filespec::filespec(), stm::filespec::getSpec(), stm::filespec::isAbsolute(), stm::filespec::normalize(),stm::filespec::operator<(), stm::filespec::operator==(), and partition().

12.116.6.10 dword stm::local::xfilespec::flags [protected]

Flags of this xfilespec.

The least significant word is serving as multi-purpose state parameter.

Definition at line 660 of file filesysxaids.hpp.

Referenced by stm::filespec::operator<(), stm::filespec::operator==(), and starStarOp().

12.116.6.11 StmReCtrl & stm::local::xfilespec::reCtrl = rectrl::identity [static,protected]

Definition at line 662 of file filesysxaids.hpp.

Referenced by stm::filespec::filespec().

12.116.6.12 StmRe stm::local::xfilespec::noBracketExprFileSpec = NULL [static,protected]

Definition at line 663 of file filesysxaids.hpp.

Referenced by stm::filespec::filespec(), and initialize().

12.116.6.13 StmRe stm::local::xfilespec::noCharClassFileSpec = NULL [static,protected]

Definition at line 664 of file filesysxaids.hpp.

Referenced by stm::filespec::filespec(), and initialize().

12.116.6.14 StmRe stm::local::xfilespec::fullFileSpec = NULL [static, protected]

Definition at line 665 of file filesysxaids.hpp.

Referenced by stm::filespec::filespec(), and initialize().

12.116.6.15 StmRe stm::local::xfilespec::ereFileSpec = xfilespec::initialize () [static,protected]

Definition at line 666 of file filesysxaids.hpp.

Referenced by stm::filespec::filespec(), and initialize().

12.116.6.16 dword stm::local::xfilespec::id = 0 [static, protected]

Definition at line 668 of file filesysxaids.hpp.

Referenced by stm::filespec::filespec().

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

• filesysxaids.hpp• filesysaids.cpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 438: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.117 stm::local::xfilespec::Env Struct Reference 437

12.117 stm::local::xfilespec::Env Struct Reference

#include <filesysxaids.hpp>

12.117.1 Detailed Description

Environment for regular expression creation.

Definition at line 575 of file filesysxaids.hpp.

Public Member Functions

• Env (std::string &result, dword specFlags)• void reset (const Rollback ∗rollback)

Public Attributes

• std::string & regexpReference to the regular expression to be created.

• dword flagsFilespac flags.

Static Public Attributes

• static const dword FlagMask = 0x0000ffff• static const dword LastPart = 0x00000001• static const dword PathSep = 0x00000002

12.117.2 Constructor & Destructor Documentation

12.117.2.1 stm::local::xfilespec::Env::Env (std::string & result, dword specFlags) [inline]

Definition at line 581 of file filesysxaids.hpp.

12.117.3 Member Function Documentation

12.117.3.1 void stm::local::xfilespec::Env::reset (const Rollback ∗ rollback) [inline]

Definition at line 586 of file filesysxaids.hpp.

12.117.4 Member Data Documentation

12.117.4.1 const dword stm::local::xfilespec::Env::FlagMask = 0x0000ffff [static]

Definition at line 577 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 439: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.118 stm::local::xfilespec::Rollback Struct Reference 438

12.117.4.2 const dword stm::local::xfilespec::Env::LastPart = 0x00000001 [static]

Definition at line 578 of file filesysxaids.hpp.

Referenced by stm::filespec::filespec(), and stm::local::xfilespec::starStarOp().

12.117.4.3 const dword stm::local::xfilespec::Env::PathSep = 0x00000002 [static]

Definition at line 579 of file filesysxaids.hpp.

Referenced by stm::filespec::filespec(), and stm::local::xfilespec::starStarOp().

12.117.4.4 std::string& stm::local::xfilespec::Env::regexp

Reference to the regular expression to be created.

Definition at line 597 of file filesysxaids.hpp.

12.117.4.5 dword stm::local::xfilespec::Env::flags

Filespac flags.

Definition at line 600 of file filesysxaids.hpp.

Referenced by stm::filespec::filespec().

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

• filesysxaids.hpp

12.118 stm::local::xfilespec::Rollback Struct Reference

#include <filesysxaids.hpp>

12.118.1 Detailed Description

Rollback data for regular expression creation.

Definition at line 604 of file filesysxaids.hpp.

Public Member Functions

• Rollback (const Env ∗env)

Public Attributes

• size_t sizeSize Env::regexp has to be cut to this size in case of rollback.

• dword flags

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 440: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.119 stm::local::xfilespeclist Class Reference 439

12.118.2 Constructor & Destructor Documentation

12.118.2.1 stm::local::xfilespec::Rollback::Rollback (const Env ∗ env) [inline]

Definition at line 606 of file filesysxaids.hpp.

12.118.3 Member Data Documentation

12.118.3.1 size_t stm::local::xfilespec::Rollback::size

Size Env::regexp has to be cut to this size in case of rollback.

Definition at line 612 of file filesysxaids.hpp.

12.118.3.2 dword stm::local::xfilespec::Rollback::flags

Definition at line 614 of file filesysxaids.hpp.

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

• filesysxaids.hpp

12.119 stm::local::xfilespeclist Class Reference

#include <filesysxaids.hpp>

Inheritance diagram for stm::local::xfilespeclist:

stm::local::xfilespeclist

stm::filespeclist

stm::tools::CtExceptions

12.119.1 Detailed Description

stm::filespeclist implementation base class.

Definition at line 752 of file filesysxaids.hpp.

Protected Types

• typedef xfilespeclist impl

Protected Member Functions

• xfilespeclist (dword flags)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 441: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.120 stm::local::xfixedfmt< FloatT > Class Template Reference 440

Protected Attributes

• dword flags_

Static Protected Attributes

• static const dword NoBraceExpansion = 0x01000000• static const dword SingleSpec = 0x02000000

12.119.2 Member Typedef Documentation

12.119.2.1 typedef xfilespeclist stm::local::xfilespeclist::impl [protected]

Definition at line 755 of file filesysxaids.hpp.

12.119.3 Constructor & Destructor Documentation

12.119.3.1 stm::local::xfilespeclist::xfilespeclist (dword flags) [inline, protected]

Definition at line 761 of file filesysxaids.hpp.

12.119.4 Member Data Documentation

12.119.4.1 const dword stm::local::xfilespeclist::NoBraceExpansion = 0x01000000 [static,protected]

Reimplemented in stm::filespeclist.

Definition at line 758 of file filesysxaids.hpp.

12.119.4.2 const dword stm::local::xfilespeclist::SingleSpec = 0x02000000 [static,protected]

Reimplemented in stm::filespeclist.

Definition at line 759 of file filesysxaids.hpp.

12.119.4.3 dword stm::local::xfilespeclist::flags_ [protected]

Definition at line 763 of file filesysxaids.hpp.

Referenced by stm::filespeclist::append(), and stm::filefind< PathContainerT >::insert().

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

• filesysxaids.hpp

12.120 stm::local::xfixedfmt< FloatT > Class Template Reference

#include <divxaids.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 442: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.120 stm::local::xfixedfmt< FloatT > Class Template Reference 441

Inheritance diagram for stm::local::xfixedfmt< FloatT >:

stm::local::xfixedfmt< FloatT >

stm::fixedfmt< FloatT >

Collaboration diagram for stm::local::xfixedfmt< FloatT >:

stm::local::xfixedfmt< FloatT >

FloatT

val_

12.120.1 Detailed Description

template<typename FloatT> class stm::local::xfixedfmt< FloatT >

stm::fixedfmt implementation base class template.

Definition at line 685 of file divxaids.hpp.

Protected Member Functions

• xfixedfmt (dword precision, FloatT val)

Protected Attributes

• dword prec_• FloatT val_

12.120.2 Constructor & Destructor Documentation

12.120.2.1 template<typename FloatT> stm::local::xfixedfmt< FloatT >::xfixedfmt (dword preci-sion, FloatT val) [inline, protected]

Definition at line 688 of file divxaids.hpp.

12.120.3 Member Data Documentation

12.120.3.1 template<typename FloatT> dword stm::local::xfixedfmt< FloatT >::prec_-[protected]

Definition at line 689 of file divxaids.hpp.

Referenced by stm::fixedfmt< FloatT >::precision().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 443: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.121 stm::local::xhexfmt< UnsignedT > Class Template Reference 442

12.120.3.2 template<typename FloatT> FloatT stm::local::xfixedfmt< FloatT >::val_-[protected]

Definition at line 690 of file divxaids.hpp.

Referenced by stm::fixedfmt< FloatT >::operator FloatT().

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

• divxaids.hpp

12.121 stm::local::xhexfmt< UnsignedT > Class Template Reference

#include <divxaids.hpp>

Inheritance diagram for stm::local::xhexfmt< UnsignedT >:

stm::local::xhexfmt< UnsignedT >

stm::hexfmt< UnsignedT > stm::local::xhexfmt< ElemT * >

< ElemT * >

stm::hexfmt< ElemT *, DefaultFlags >

Collaboration diagram for stm::local::xhexfmt< UnsignedT >:

stm::local::xhexfmt< UnsignedT >

UnsignedT

val_

12.121.1 Detailed Description

template<typename UnsignedT> class stm::local::xhexfmt< UnsignedT >

stm::hexfmt implementation base class template.

Definition at line 674 of file divxaids.hpp.

Protected Member Functions

• xhexfmt (UnsignedT val, dword flags)

Protected Attributes

• UnsignedT val_• dword flags_

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 444: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.122 stm::local::xinputrange< FileRangeT, bufSize > Class Template Reference 443

12.121.2 Constructor & Destructor Documentation

12.121.2.1 template<typename UnsignedT> stm::local::xhexfmt< UnsignedT >::xhexfmt (Un-signedT val, dword flags) [inline, protected]

Definition at line 677 of file divxaids.hpp.

12.121.3 Member Data Documentation

12.121.3.1 template<typename UnsignedT> UnsignedT stm::local::xhexfmt< UnsignedT >::val_[protected]

Definition at line 678 of file divxaids.hpp.

Referenced by stm::hexfmt< ElemT ∗, DefaultFlags >::operator ElemT ∗(), and stm::hexfmt< UnsignedT,DefaultFlags >::operator UnsignedT().

12.121.3.2 template<typename UnsignedT> dword stm::local::xhexfmt< UnsignedT >::flags_-[protected]

Definition at line 679 of file divxaids.hpp.

Referenced by stm::hexfmt< ElemT ∗, DefaultFlags >::flags(), stm::hexfmt< UnsignedT, DefaultFlags>::flags(), stm::hexfmt< ElemT ∗, DefaultFlags >::noprefix(), and stm::hexfmt< UnsignedT, Default-Flags >::noprefix().

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

• divxaids.hpp

12.122 stm::local::xinputrange< FileRangeT, bufSize > Class Template Reference

#include <filesysxaids.hpp>

Inheritance diagram for stm::local::xinputrange< FileRangeT, bufSize >:

stm::local::xinputrange< FileRangeT, bufSize >

stm::inputrange< FileRangeT, bufSize >

stm::local::xinputrange< std::set< InputFileT >, bufSize >

< std::set< InputFileT >, bufSize > stm::inputrange< std::set< InputFileT >, bufSize >

< std::set< InputFileT >, bufSize >

stm::inputseq< InputFileT, bufSize >

12.122.1 Detailed Description

template<class FileRangeT, size_t bufSize> class stm::local::xinputrange< FileRangeT, bufSize >

stm::inputrange implementation base class template.

The class is derived from a map of input file iterators indexed by the length of the concatenated input filesup to and including the particular input file minus one. This indexing enables one for a long long offsetoffs within the concatenation of all input files to use the following constructs:

inputrange_type::iterator j = lower_bound (offs) -> second;

to find an iterator to the input file containing the byte at offset offs.

Definition at line 293 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 445: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.122 stm::local::xinputrange< FileRangeT, bufSize > Class Template Reference 444

Protected Types

• typedef xinputrange< FileRangeT, bufSize > implImplementation.

• typedef FileRangeT filerange_typeType of input file range.

• typedef filerange_type::value_type inputfile_typeType of input files.

Protected Member Functions

• xinputrange (const filerange_type &inputFiles)Construct an xinputseq object for the input file set inputFiles.

• ∼xinputrange ()The destructor deletes the input buffer.

• void clear ()Clears this xinputrange.

• void setInput (const filerange_type &inputFiles)Sets new input files for this xinputrange.

Protected Attributes

• byte ∗ buffer_Pointer to the storage of the input buffer.

• const byte ∗ bufPtr_Current position within the input buffer.

• const byte ∗ bufEnd_Points to one past the current end of the input buffer.

• long long offset_Byte offset within the concatenation of all input files corresponding to the current position within the inputbuffer.

• long long totalSize_Total byte length within the concatenation of all input files.

• long long notReadSize_Not read byte length within the concatenation of all input files.

• ptrdiff_t bufStep_

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 446: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.122 stm::local::xinputrange< FileRangeT, bufSize > Class Template Reference 445

Number of bytes to advance the current position within the input buffer and the byte offset within the con-catenation of all input files.

• bool error_True if an error did occur.

• FILE ∗ fp_Current input file pointer.

• base::const_iterator fileIt_Iterator to current input file.

• filerange_type files_Input file range.

Private Types

• typedef std::map< long long, typename FileRangeT::const_iterator > base

Private Member Functions

• BOOST_STATIC_ASSERT ((bufSize > 0))• xinputrange (const xinputrange &)

forbidden operation (intentionally not implemented).

• xinputrange & operator= (const xinputrange &)forbidden operation (intentionally not implemented).

12.122.2 Member Typedef Documentation

12.122.2.1 template<class FileRangeT, size_t bufSize> typedef std::map<long long, typenameFileRangeT::const_iterator> stm::local::xinputrange< FileRangeT, bufSize >::base [private]

Reimplemented in stm::inputseq< InputFileT, bufSize >.

Definition at line 297 of file filesysxaids.hpp.

12.122.2.2 template<class FileRangeT, size_t bufSize> typedef xinputrange<FileRangeT,bufSize> stm::local::xinputrange< FileRangeT, bufSize >::impl [protected]

Implementation.

Reimplemented in stm::inputrange< FileRangeT, bufSize >, and stm::inputrange< std::set< InputFileT>, bufSize >.

Definition at line 301 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 447: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.122 stm::local::xinputrange< FileRangeT, bufSize > Class Template Reference 446

12.122.2.3 template<class FileRangeT, size_t bufSize> typedef FileRangeTstm::local::xinputrange< FileRangeT, bufSize >::filerange_type [protected]

Type of input file range.

Reimplemented in stm::inputrange< FileRangeT, bufSize >, and stm::inputrange< std::set< InputFileT>, bufSize >.

Definition at line 304 of file filesysxaids.hpp.

12.122.2.4 template<class FileRangeT, size_t bufSize> typedef filerange_type::value_typestm::local::xinputrange< FileRangeT, bufSize >::inputfile_type [protected]

Type of input files.

Reimplemented in stm::inputrange< FileRangeT, bufSize >, and stm::inputrange< std::set< InputFileT>, bufSize >.

Definition at line 307 of file filesysxaids.hpp.

12.122.3 Constructor & Destructor Documentation

12.122.3.1 template<class FileRangeT, size_t bufSize> stm::local::xinputrange< FileRangeT, buf-Size >::xinputrange (const filerange_type & inputFiles) [inline, protected]

Construct an xinputseq object for the input file set inputFiles.

Definition at line 310 of file filesysxaids.hpp.

12.122.3.2 template<class FileRangeT, size_t bufSize> stm::local::xinputrange< FileRangeT, buf-Size >::∼xinputrange () [inline, protected]

The destructor deletes the input buffer.

Definition at line 318 of file filesysxaids.hpp.

12.122.3.3 template<class FileRangeT, size_t bufSize> stm::local::xinputrange< FileRangeT, buf-Size >::xinputrange (const xinputrange< FileRangeT, bufSize > &) [private]

forbidden operation (intentionally not implemented).

12.122.4 Member Function Documentation

12.122.4.1 template<class FileRangeT, size_t bufSize> stm::local::xinputrange< FileRangeT, buf-Size >::BOOST_STATIC_ASSERT ((bufSize > 0)) [private]

12.122.4.2 template<class FileRangeT, size_t bufSize> void stm::local::xinputrange< FileRangeT,bufSize >::clear () [inline, protected]

Clears this xinputrange.

Reimplemented in stm::inputrange< FileRangeT, bufSize >, and stm::inputrange< std::set< InputFileT>, bufSize >.

Definition at line 325 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 448: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.122 stm::local::xinputrange< FileRangeT, bufSize > Class Template Reference 447

Referenced by stm::inputrange< FileRangeT, bufSize >::clear(), stm::local::xinputrange< std::set<InputFileT >, bufSize >::setInput(), and stm::local::xinputrange< std::set< InputFileT >, bufSize>::xinputrange().

12.122.4.3 template<class FileRangeT, size_t bufSize> void stm::local::xinputrange< FileRangeT,bufSize >::setInput (const filerange_type & inputFiles) [inline, protected]

Sets new input files for this xinputrange.

Reimplemented in stm::inputrange< FileRangeT, bufSize >, and stm::inputrange< std::set< InputFileT>, bufSize >.

Definition at line 342 of file filesysxaids.hpp.

Referenced by stm::inputrange< FileRangeT, bufSize >::setInput(), and stm::local::xinputrange<std::set< InputFileT >, bufSize >::xinputrange().

12.122.4.4 template<class FileRangeT, size_t bufSize> xinputrange& stm::local::xinputrange<FileRangeT, bufSize >::operator= (const xinputrange< FileRangeT, bufSize > &) [private]

forbidden operation (intentionally not implemented).

12.122.5 Member Data Documentation

12.122.5.1 template<class FileRangeT, size_t bufSize> byte∗ stm::local::xinputrange< Fil-eRangeT, bufSize >::buffer_ [protected]

Pointer to the storage of the input buffer.

Definition at line 359 of file filesysxaids.hpp.

Referenced by stm::inputrange< FileRangeT, bufSize >::bufFull(), stm::inputrange< FileRangeT, buf-Size >::bufSetup(), stm::local::xinputrange< std::set< InputFileT >, bufSize >::clear(), stm::inputrange<FileRangeT, bufSize >::read(), and stm::local::xinputrange< std::set< InputFileT >, bufSize>::∼xinputrange().

12.122.5.2 template<class FileRangeT, size_t bufSize> const byte∗ stm::local::xinputrange< Fil-eRangeT, bufSize >::bufPtr_ [protected]

Current position within the input buffer.

Always satisfies the condition buffer_ <= bufPtr_ && bufPtr_ <= buffer_ + MaxBufSize.

Definition at line 364 of file filesysxaids.hpp.

Referenced by stm::inputrange< FileRangeT, bufSize >::bufAdvance(), stm::inputrange< Fil-eRangeT, bufSize >::bufExhausted(), stm::inputrange< FileRangeT, bufSize >::bufFull(),stm::inputrange< FileRangeT, bufSize >::bufPtr(), stm::inputrange< FileRangeT, bufSize >::bufSetup(),stm::local::xinputrange< std::set< InputFileT >, bufSize >::clear(), stm::inputrange< FileRangeT,bufSize >::offset(), and stm::inputrange< FileRangeT, bufSize >::read().

12.122.5.3 template<class FileRangeT, size_t bufSize> const byte∗ stm::local::xinputrange< Fil-eRangeT, bufSize >::bufEnd_ [protected]

Points to one past the current end of the input buffer.

Always satisfies the condition bufPtr_ <= bufEnd_ && bufEnd_ <= buffer_ + MaxBufSize.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 449: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.122 stm::local::xinputrange< FileRangeT, bufSize > Class Template Reference 448

Definition at line 369 of file filesysxaids.hpp.

Referenced by stm::inputrange< FileRangeT, bufSize >::bufAdvance(), stm::inputrange< FileRangeT,bufSize >::bufEnd(), stm::inputrange< FileRangeT, bufSize >::bufExhausted(), stm::inputrange< Fil-eRangeT, bufSize >::bufFull(), stm::local::xinputrange< std::set< InputFileT >, bufSize >::clear(),stm::inputrange< FileRangeT, bufSize >::offset(), and stm::inputrange< FileRangeT, bufSize >::read().

12.122.5.4 template<class FileRangeT, size_t bufSize> long long stm::local::xinputrange< Fil-eRangeT, bufSize >::offset_ [protected]

Byte offset within the concatenation of all input files corresponding to the current position within the inputbuffer.

Definition at line 373 of file filesysxaids.hpp.

Referenced by stm::inputrange< FileRangeT, bufSize >::bufAdvance(), stm::local::xinputrange<std::set< InputFileT >, bufSize >::clear(), stm::inputrange< FileRangeT, bufSize >::file(), andstm::inputrange< FileRangeT, bufSize >::offset().

12.122.5.5 template<class FileRangeT, size_t bufSize> long long stm::local::xinputrange< Fil-eRangeT, bufSize >::totalSize_ [protected]

Total byte length within the concatenation of all input files.

Definition at line 376 of file filesysxaids.hpp.

Referenced by stm::local::xinputrange< std::set< InputFileT >, bufSize >::clear(),stm::local::xinputrange< std::set< InputFileT >, bufSize >::setInput(), and stm::inputrange< Fil-eRangeT, bufSize >::totalSize().

12.122.5.6 template<class FileRangeT, size_t bufSize> long long stm::local::xinputrange< Fil-eRangeT, bufSize >::notReadSize_ [protected]

Not read byte length within the concatenation of all input files.

Definition at line 379 of file filesysxaids.hpp.

Referenced by stm::local::xinputrange< std::set< InputFileT >, bufSize >::clear(), stm::inputrange<FileRangeT, bufSize >::notReadSize(), stm::inputrange< FileRangeT, bufSize >::read(), andstm::local::xinputrange< std::set< InputFileT >, bufSize >::setInput().

12.122.5.7 template<class FileRangeT, size_t bufSize> ptrdiff_t stm::local::xinputrange< Fil-eRangeT, bufSize >::bufStep_ [protected]

Number of bytes to advance the current position within the input buffer and the byte offset within theconcatenation of all input files.

Definition at line 383 of file filesysxaids.hpp.

Referenced by stm::inputrange< FileRangeT, bufSize >::bufAdvance(), stm::local::xinputrange<std::set< InputFileT >, bufSize >::clear(), stm::inputrange< FileRangeT, bufSize >::read(), andstm::inputrange< FileRangeT, bufSize >::setBufStep().

12.122.5.8 template<class FileRangeT, size_t bufSize> bool stm::local::xinputrange< FileRangeT,bufSize >::error_ [protected]

True if an error did occur.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 450: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.123 stm::local::xinputrange_iterator< BufRangeT, ContextT > Class Template Reference 449

Definition at line 386 of file filesysxaids.hpp.

Referenced by stm::local::xinputrange< std::set< InputFileT >, bufSize >::clear(), stm::inputrange< Fil-eRangeT, bufSize >::isError(), and stm::inputrange< FileRangeT, bufSize >::read().

12.122.5.9 template<class FileRangeT, size_t bufSize> FILE∗ stm::local::xinputrange< Fil-eRangeT, bufSize >::fp_ [protected]

Current input file pointer.

Definition at line 389 of file filesysxaids.hpp.

Referenced by stm::inputrange< FileRangeT, bufSize >::clear(), stm::local::xinputrange< std::set< In-putFileT >, bufSize >::clear(), and stm::inputrange< FileRangeT, bufSize >::read().

12.122.5.10 template<class FileRangeT, size_t bufSize> base::const_iteratorstm::local::xinputrange< FileRangeT, bufSize >::fileIt_ [protected]

Iterator to current input file.

Definition at line 392 of file filesysxaids.hpp.

Referenced by stm::local::xinputrange< std::set< InputFileT >, bufSize >::clear(), stm::inputrange<FileRangeT, bufSize >::isEnd(), stm::inputrange< FileRangeT, bufSize >::read(), stm::inputrange<FileRangeT, bufSize >::reportError(), and stm::local::xinputrange< std::set< InputFileT >, bufSize>::setInput().

12.122.5.11 template<class FileRangeT, size_t bufSize> filerange_type stm::local::xinputrange<FileRangeT, bufSize >::files_ [protected]

Input file range.

Definition at line 395 of file filesysxaids.hpp.

Referenced by stm::local::xinputrange< std::set< InputFileT >, bufSize >::clear(), andstm::local::xinputrange< std::set< InputFileT >, bufSize >::setInput().

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

• filesysxaids.hpp

12.123 stm::local::xinputrange_iterator< BufRangeT, ContextT > Class Tem-plate Reference

#include <filesysxaids.hpp>

Inheritance diagram for stm::local::xinputrange_iterator< BufRangeT, ContextT >:

stm::local::xinputrange_iterator< BufRangeT, ContextT >

stm::inputrange_iterator< BufRangeT, ContextT >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 451: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.123 stm::local::xinputrange_iterator< BufRangeT, ContextT > Class Template Reference 450

12.123.1 Detailed Description

template<class BufRangeT, class ContextT> class stm::local::xinputrange_iterator< BufRangeT,ContextT >

stm::inputrange_iterator implementation base class template.

Definition at line 444 of file filesysxaids.hpp.

Protected Types

• typedef xinputrange_iterator< BufRangeT, ContextT > impl

Protected Member Functions

• xinputrange_iterator ()• xinputrange_iterator (context_type &context)• xinputrange_iterator (const xinputrange_iterator< BufRangeT, ContextT > &that)• void scan ()• const bufrange_type ∗ bufrange () const

Protected Attributes

• context_type ∗ context_

Private Types

• typedef BufRangeT bufrange_type• typedef ContextT context_type• typedef context_type::inputrange_type inputrange_type• typedef inputrange_type::filerange_type filerange_type• typedef boost::detail::max_align Align

Private Member Functions

• BOOST_STATIC_ASSERT ((boost::is_base_and_derived< byte_iterator_range, bufrange_type>::value))

• BOOST_STATIC_ASSERT ((boost::is_base_and_derived< inputrange< filerange_type,inputrange_type::BufSize >, inputrange_type >::value))

Private Attributes

• Align rbuf_ [(sizeof(bufrange_type)+sizeof(Align)-1)/sizeof(Align)]Buffer of at least sizeof (bufrange_type) bytes meeting all alignment requirements.

• bool constructed_

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 452: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.123 stm::local::xinputrange_iterator< BufRangeT, ContextT > Class Template Reference 451

12.123.2 Member Typedef Documentation

12.123.2.1 template<class BufRangeT, class ContextT> typedef BufRangeTstm::local::xinputrange_iterator< BufRangeT, ContextT >::bufrange_type [private]

Reimplemented in stm::inputrange_iterator< BufRangeT, ContextT >.

Definition at line 447 of file filesysxaids.hpp.

12.123.2.2 template<class BufRangeT, class ContextT> typedef ContextTstm::local::xinputrange_iterator< BufRangeT, ContextT >::context_type [private]

Reimplemented in stm::inputrange_iterator< BufRangeT, ContextT >.

Definition at line 448 of file filesysxaids.hpp.

12.123.2.3 template<class BufRangeT, class ContextT> typedef context_type::inputrange_typestm::local::xinputrange_iterator< BufRangeT, ContextT >::inputrange_type [private]

Reimplemented in stm::inputrange_iterator< BufRangeT, ContextT >.

Definition at line 449 of file filesysxaids.hpp.

12.123.2.4 template<class BufRangeT, class ContextT> typedef inputrange_type::filerange_typestm::local::xinputrange_iterator< BufRangeT, ContextT >::filerange_type [private]

Definition at line 450 of file filesysxaids.hpp.

12.123.2.5 template<class BufRangeT, class ContextT> typedef boost::detail::max_alignstm::local::xinputrange_iterator< BufRangeT, ContextT >::Align [private]

Definition at line 451 of file filesysxaids.hpp.

12.123.2.6 template<class BufRangeT, class ContextT> typedef xinputrange_-iterator<BufRangeT, ContextT> stm::local::xinputrange_iterator< BufRangeT, ContextT >::impl[protected]

Reimplemented in stm::inputrange_iterator< BufRangeT, ContextT >.

Definition at line 472 of file filesysxaids.hpp.

12.123.3 Constructor & Destructor Documentation

12.123.3.1 template<class BufRangeT, class ContextT> stm::local::xinputrange_iterator<BufRangeT, ContextT >::xinputrange_iterator () [inline, protected]

Definition at line 474 of file filesysxaids.hpp.

12.123.3.2 template<class BufRangeT, class ContextT> stm::local::xinputrange_iterator<BufRangeT, ContextT >::xinputrange_iterator (context_type & context) [inline,protected]

Definition at line 479 of file filesysxaids.hpp.

References stm::local::xinputrange_iterator< BufRangeT, ContextT >::scan().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 453: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.123 stm::local::xinputrange_iterator< BufRangeT, ContextT > Class Template Reference 452

12.123.3.3 template<class BufRangeT, class ContextT> stm::local::xinputrange_iterator<BufRangeT, ContextT >::xinputrange_iterator (const xinputrange_iterator< BufRangeT, ContextT> & that) [inline, protected]

Definition at line 486 of file filesysxaids.hpp.

References stm::local::xinputrange_iterator< BufRangeT, ContextT >::scan().

12.123.4 Member Function Documentation

12.123.4.1 template<class BufRangeT, class ContextT> stm::local::xinputrange_iterator<BufRangeT, ContextT >::BOOST_STATIC_ASSERT ((boost::is_base_and_derived< byte_-iterator_range, bufrange_type >::value)) [private]

12.123.4.2 template<class BufRangeT, class ContextT> stm::local::xinputrange_iterator<BufRangeT, ContextT >::BOOST_STATIC_ASSERT ((boost::is_base_and_derived< inputrange<filerange_type, inputrange_type::BufSize >, inputrange_type >::value)) [private]

12.123.4.3 template<class BufRangeT, class ContextT> void stm::local::xinputrange_iterator<BufRangeT, ContextT >::scan () [inline, protected]

Definition at line 975 of file filesysxaids.hpp.

References stm::local::xinputrange_iterator< BufRangeT, ContextT >::bufrange(),stm::local::xinputrange_iterator< BufRangeT, ContextT >::constructed_, stm::local::xinputrange_-iterator< BufRangeT, ContextT >::context_, stm::local::xinputrange_iterator< BufRangeT, ContextT>::rbuf_, and StmDebugAidsVerify.

Referenced by stm::inputrange_iterator< BufRangeT, ContextT >::operator++(), andstm::local::xinputrange_iterator< BufRangeT, ContextT >::xinputrange_iterator().

12.123.4.4 template<class BufRangeT, class ContextT> const bufrange_type∗stm::local::xinputrange_iterator< BufRangeT, ContextT >::bufrange () const [inline,protected]

Definition at line 495 of file filesysxaids.hpp.

References stm::local::xinputrange_iterator< BufRangeT, ContextT >::constructed_, andstm::local::xinputrange_iterator< BufRangeT, ContextT >::rbuf_.

Referenced by stm::inputrange_iterator< BufRangeT, ContextT >::operator ∗(), stm::inputrange_-iterator< BufRangeT, ContextT >::operator→ (), and stm::local::xinputrange_iterator< BufRangeT, Con-textT >::scan().

12.123.5 Member Data Documentation

12.123.5.1 template<class BufRangeT, class ContextT> context_type∗ stm::local::xinputrange_-iterator< BufRangeT, ContextT >::context_ [protected]

Definition at line 502 of file filesysxaids.hpp.

Referenced by stm::inputrange_iterator< BufRangeT, ContextT >::equal(), and stm::local::xinputrange_-iterator< BufRangeT, ContextT >::scan().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 454: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.124 stm::local::xIntegral_range< IntegralT, minVal, maxVal > Class Template Reference 453

12.123.5.2 template<class BufRangeT, class ContextT> Align stm::local::xinputrange_-iterator< BufRangeT, ContextT >::rbuf_[(sizeof(bufrange_type)+sizeof(Align)-1)/sizeof(Align)][private]

Buffer of at least sizeof (bufrange_type) bytes meeting all alignment requirements.

Definition at line 507 of file filesysxaids.hpp.

Referenced by stm::local::xinputrange_iterator< BufRangeT, ContextT >::bufrange(), andstm::local::xinputrange_iterator< BufRangeT, ContextT >::scan().

12.123.5.3 template<class BufRangeT, class ContextT> bool stm::local::xinputrange_iterator<BufRangeT, ContextT >::constructed_ [private]

Definition at line 508 of file filesysxaids.hpp.

Referenced by stm::local::xinputrange_iterator< BufRangeT, ContextT >::bufrange(), andstm::local::xinputrange_iterator< BufRangeT, ContextT >::scan().

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

• filesysxaids.hpp

12.124 stm::local::xIntegral_range< IntegralT, minVal, maxVal > Class TemplateReference

#include <divxaids.hpp>

Inheritance diagram for stm::local::xIntegral_range< IntegralT, minVal, maxVal >:

stm::local::xIntegral_range< IntegralT, minVal, maxVal >

stm::integral_range< IntegralT, minVal, maxVal >

12.124.1 Detailed Description

template<typename IntegralT, IntegralT minVal, IntegralT maxVal> class stm::local::xIntegral_-range< IntegralT, minVal, maxVal >

stm::integral_range implementation base class template.

Definition at line 265 of file divxaids.hpp.

Protected Types

• typedef std::pair< IntegralT, IntegralT > base• typedef xIntegral_range< IntegralT, minVal, maxVal > impl• typedef IntegralT integral_type

Protected Member Functions

• BOOST_STATIC_ASSERT ((boost::integer_traits< IntegralT >::is_integral))

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 455: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.124 stm::local::xIntegral_range< IntegralT, minVal, maxVal > Class Template Reference 454

Ensure that IntegralT is an integral type.

• BOOST_STATIC_ASSERT ((sizeof(IntegralT)<=8))For now only integral types of at most 64 bits are supported.

• BOOST_STATIC_ASSERT ((minVal<=maxVal))Ensure not empty integral range type.

• xIntegral_range (integral_type fromNumber, integral_type toNumber)• impl & match (const std::string &rstr, size_t fmtFlags)

Static Protected Attributes

• static const integral_type MinVal = minVal• static const integral_type MaxVal = maxVal• static const size_t EmptyAllowed = 0x00000001

Bitwise orable fmtFlag value.

Private Types

• typedef boost::mpl::bool_< boost::integer_traits< integral_type >::const_min==MinVal > is_-minimal

• typedef boost::mpl::bool_< boost::integer_traits< integral_type >::const_max==MaxVal > is_-maximal

• typedef boost::mpl::bool_< boost::integer_traits< integral_type >::is_signed > is_signed

Static Private Member Functions

• static void testMin (boost::mpl::false_, integral_type fromNumber)Test minimal constraint.

• static void testMin (boost::mpl::true_, integral_type fromNumber)Test minimal constraint.

• static void testMax (boost::mpl::false_, integral_type toNumber)Test maximal constraint.

• static void testMax (boost::mpl::true_, integral_type toNumber)Test maximal constraint.

• static int getIntegral (boost::mpl::false_, const std::string &vstr, integral_type &val)If vstr designates an integral_type object, that object is assigned to val and 0 is returned, else 1.

• static int getIntegral (boost::mpl::true_, const std::string &vstr, integral_type &val)If vstr designates an integral_type object, that object is assigned to val and 0 is returned, else 1.

• static StmRe initialize ()• static int optassign (StmMtcFctCmd cmd, StmReMtc reMtc)• static int assign (StmMtcFctCmd cmd, StmReMtc reMtc)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 456: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.124 stm::local::xIntegral_range< IntegralT, minVal, maxVal > Class Template Reference 455

Static Private Attributes

• static StmRe optrange = NULL• static StmRe range

Friends

• class xIntegral_set

12.124.2 Member Typedef Documentation

12.124.2.1 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> typedefstd::pair<IntegralT, IntegralT> stm::local::xIntegral_range< IntegralT, minVal, maxVal >::base[protected]

Definition at line 279 of file divxaids.hpp.

12.124.2.2 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> typedefxIntegral_range<IntegralT, minVal, maxVal> stm::local::xIntegral_range< IntegralT, minVal,maxVal >::impl [protected]

Reimplemented in stm::integral_range< IntegralT, minVal, maxVal >.

Definition at line 280 of file divxaids.hpp.

12.124.2.3 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> typedef IntegralTstm::local::xIntegral_range< IntegralT, minVal, maxVal >::integral_type [protected]

Reimplemented in stm::integral_range< IntegralT, minVal, maxVal >.

Definition at line 281 of file divxaids.hpp.

12.124.2.4 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> type-def boost::mpl::bool_<boost::integer_traits<integral_type>::const_min == MinVal>stm::local::xIntegral_range< IntegralT, minVal, maxVal >::is_minimal [private]

Definition at line 294 of file divxaids.hpp.

12.124.2.5 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> type-def boost::mpl::bool_<boost::integer_traits<integral_type>::const_max == MaxVal>stm::local::xIntegral_range< IntegralT, minVal, maxVal >::is_maximal [private]

Definition at line 295 of file divxaids.hpp.

12.124.2.6 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> typedefboost::mpl::bool_<boost::integer_traits<integral_type>::is_signed> stm::local::xIntegral_range<IntegralT, minVal, maxVal >::is_signed [private]

Definition at line 296 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 457: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.124 stm::local::xIntegral_range< IntegralT, minVal, maxVal > Class Template Reference 456

12.124.3 Member Function Documentation

12.124.3.1 template<typename IntegralT, IntegralT minVal, IntegralT maxVal>stm::local::xIntegral_range< IntegralT, minVal, maxVal >::BOOST_STATIC_ASSERT((boost::integer_traits< IntegralT >::is_integral)) [protected]

Ensure that IntegralT is an integral type.

12.124.3.2 template<typename IntegralT, IntegralT minVal, IntegralT maxVal>stm::local::xIntegral_range< IntegralT, minVal, maxVal >::BOOST_STATIC_ASSERT((sizeof(IntegralT)<=8)) [protected]

For now only integral types of at most 64 bits are supported.

12.124.3.3 template<typename IntegralT, IntegralT minVal, IntegralT maxVal>stm::local::xIntegral_range< IntegralT, minVal, maxVal >::BOOST_STATIC_ASSERT((minVal<=maxVal)) [protected]

Ensure not empty integral range type.

12.124.3.4 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> static voidstm::local::xIntegral_range< IntegralT, minVal, maxVal >::testMin (boost::mpl::false_, integral_-type fromNumber) [inline, static, private]

Test minimal constraint.

Only instantiated, if MinVal is not minimal.

Definition at line 300 of file divxaids.hpp.

References stm::local::xIntegral_range< IntegralT, minVal, maxVal >::MinVal.

12.124.3.5 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> static voidstm::local::xIntegral_range< IntegralT, minVal, maxVal >::testMin (boost::mpl::true_, integral_-type fromNumber) [inline, static, private]

Test minimal constraint.

Only instantiated, if MinVal is minimal.

Definition at line 314 of file divxaids.hpp.

12.124.3.6 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> static voidstm::local::xIntegral_range< IntegralT, minVal, maxVal >::testMax (boost::mpl::false_, integral_-type toNumber) [inline, static, private]

Test maximal constraint.

Only instantiated, if MaxVal is not maximal.

Definition at line 321 of file divxaids.hpp.

References stm::local::xIntegral_range< IntegralT, minVal, maxVal >::MaxVal.

12.124.3.7 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> static voidstm::local::xIntegral_range< IntegralT, minVal, maxVal >::testMax (boost::mpl::true_, integral_-type toNumber) [inline, static, private]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 458: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.125 stm::local::xIntegral_set< IntegralRangeT, RangeSetT > Class Template Reference 457

Test maximal constraint.

Only instantiated, if MaxVal is maximal.

Definition at line 335 of file divxaids.hpp.

12.124.4 Friends And Related Function Documentation

12.124.4.1 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> friend classxIntegral_set [friend]

Definition at line 267 of file divxaids.hpp.

12.124.5 Member Data Documentation

12.124.5.1 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> const integral_-type stm::local::xIntegral_range< IntegralT, minVal, maxVal >::MinVal = minVal [static,protected]

Reimplemented in stm::integral_range< IntegralT, minVal, maxVal >.

Definition at line 283 of file divxaids.hpp.

Referenced by stm::local::xIntegral_range< IntegralT, minVal, maxVal >::testMin().

12.124.5.2 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> const integral_-type stm::local::xIntegral_range< IntegralT, minVal, maxVal >::MaxVal = maxVal [static,protected]

Reimplemented in stm::integral_range< IntegralT, minVal, maxVal >.

Definition at line 284 of file divxaids.hpp.

Referenced by stm::local::xIntegral_range< IntegralT, minVal, maxVal >::testMax().

12.124.5.3 template<typename IntegralT, IntegralT minVal, IntegralT maxVal> const size_-t stm::local::xIntegral_range< IntegralT, minVal, maxVal >::EmptyAllowed = 0x00000001[static, protected]

Bitwise orable fmtFlag value.

Reimplemented in stm::integral_range< IntegralT, minVal, maxVal >.

Definition at line 287 of file divxaids.hpp.

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

• divxaids.hpp

12.125 stm::local::xIntegral_set< IntegralRangeT, RangeSetT > Class TemplateReference

#include <divxaids.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 459: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.125 stm::local::xIntegral_set< IntegralRangeT, RangeSetT > Class Template Reference 458

Inheritance diagram for stm::local::xIntegral_set< IntegralRangeT, RangeSetT >:

stm::local::xIntegral_set< IntegralRangeT, RangeSetT >

stm::integral_set< IntegralRangeT, RangeSetT >

12.125.1 Detailed Description

template<class IntegralRangeT, class RangeSetT> class stm::local::xIntegral_set< IntegralRangeT,RangeSetT >

stm::integral_set implementation base class template.

Definition at line 401 of file divxaids.hpp.

Protected Types

• typedef xIntegral_set< IntegralRangeT, RangeSetT > impl• typedef IntegralRangeT range_type• typedef range_type::integral_type integral_type• typedef RangeSetT rangeset_type• typedef rangeset_type::iterator iterator• typedef rangeset_type::const_iterator const_iterator• typedef rangeset_type::reverse_iterator reverse_iterator• typedef rangeset_type::const_reverse_iterator const_reverse_iterator

Protected Member Functions

• xIntegral_set ()• void adjust () throw ()

Adjust this object to be consistent.

• void verify () constVerify, if this object is consistent. Only active in debug version.

• integral_iterator mkIterator (const_iterator rit, integral_type value)• iterator rangeOf (integral_type number, bool includeTo)

Return the iterator pointing to the range the number belongs to, or end(), if there is no such range.

• const_iterator rangeOf (integral_type number, bool includeTo) const• impl & match (const std::string &rstr, size_t fmtFlags)

Protected Attributes

• size_t size_Number of contained numbers.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 460: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.125 stm::local::xIntegral_set< IntegralRangeT, RangeSetT > Class Template Reference 459

Static Protected Attributes

• static const integral_type MinVal = range_type::MinVal• static const integral_type MaxVal = range_type::MaxVal

Static Private Member Functions

• static StmRe initialize ()• static int setassign (StmMtcFctCmd cmd, StmReMtc reMtc)

Static Private Attributes

• static StmRe optranges = NULL• static StmRe ranges

Classes

• struct Env• class integral_iterator

12.125.2 Member Typedef Documentation

12.125.2.1 template<class IntegralRangeT, class RangeSetT> typedef xIntegral_-set<IntegralRangeT, RangeSetT> stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::impl[protected]

Reimplemented in stm::integral_set< IntegralRangeT, RangeSetT >.

Definition at line 404 of file divxaids.hpp.

12.125.2.2 template<class IntegralRangeT, class RangeSetT> typedef IntegralRangeTstm::local::xIntegral_set< IntegralRangeT, RangeSetT >::range_type [protected]

Reimplemented in stm::integral_set< IntegralRangeT, RangeSetT >.

Definition at line 405 of file divxaids.hpp.

12.125.2.3 template<class IntegralRangeT, class RangeSetT> typedef range_type::integral_typestm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_type [protected]

Reimplemented in stm::integral_set< IntegralRangeT, RangeSetT >.

Definition at line 406 of file divxaids.hpp.

12.125.2.4 template<class IntegralRangeT, class RangeSetT> typedef RangeSetTstm::local::xIntegral_set< IntegralRangeT, RangeSetT >::rangeset_type [protected]

Reimplemented in stm::integral_set< IntegralRangeT, RangeSetT >.

Definition at line 408 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 461: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.125 stm::local::xIntegral_set< IntegralRangeT, RangeSetT > Class Template Reference 460

12.125.2.5 template<class IntegralRangeT, class RangeSetT> typedef rangeset_type::iteratorstm::local::xIntegral_set< IntegralRangeT, RangeSetT >::iterator [protected]

Reimplemented in stm::integral_set< IntegralRangeT, RangeSetT >.

Definition at line 409 of file divxaids.hpp.

12.125.2.6 template<class IntegralRangeT, class RangeSetT> typedef rangeset_type::const_-iterator stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::const_iterator [protected]

Reimplemented in stm::integral_set< IntegralRangeT, RangeSetT >.

Definition at line 410 of file divxaids.hpp.

12.125.2.7 template<class IntegralRangeT, class RangeSetT> typedef rangeset_type::reverse_-iterator stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::reverse_iterator[protected]

Reimplemented in stm::integral_set< IntegralRangeT, RangeSetT >.

Definition at line 411 of file divxaids.hpp.

12.125.2.8 template<class IntegralRangeT, class RangeSetT> typedef rangeset_type::const_-reverse_iterator stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::const_reverse_iterator[protected]

Reimplemented in stm::integral_set< IntegralRangeT, RangeSetT >.

Definition at line 412 of file divxaids.hpp.

12.125.3 Member Data Documentation

12.125.3.1 template<class IntegralRangeT, class RangeSetT> const integral_typestm::local::xIntegral_set< IntegralRangeT, RangeSetT >::MinVal = range_type::MinVal[static, protected]

Reimplemented in stm::integral_set< IntegralRangeT, RangeSetT >.

Definition at line 414 of file divxaids.hpp.

Referenced by stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::adjust(), stm::local::xIntegral_-set< IntegralRangeT, RangeSetT >::integral_iterator::operator++(), stm::local::xIntegral_set< Integral-RangeT, RangeSetT >::integral_iterator::operator–(), stm::local::xIntegral_set< IntegralRangeT, Range-SetT >::rangeOf(), and stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::verify().

12.125.3.2 template<class IntegralRangeT, class RangeSetT> const integral_typestm::local::xIntegral_set< IntegralRangeT, RangeSetT >::MaxVal = range_type::MaxVal[static, protected]

Reimplemented in stm::integral_set< IntegralRangeT, RangeSetT >.

Definition at line 415 of file divxaids.hpp.

Referenced by stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::adjust(), stm::local::xIntegral_-set< IntegralRangeT, RangeSetT >::integral_iterator::operator++(), stm::local::xIntegral_set< Integral-RangeT, RangeSetT >::integral_iterator::operator–(), and stm::local::xIntegral_set< IntegralRangeT,RangeSetT >::verify().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 462: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.126 stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::Env Struct Reference 461

12.125.3.3 template<class IntegralRangeT, class RangeSetT> size_t stm::local::xIntegral_set< In-tegralRangeT, RangeSetT >::size_ [protected]

Number of contained numbers.

Definition at line 478 of file divxaids.hpp.

Referenced by stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::adjust(), stm::integral_set< Inte-gralRangeT, RangeSetT >::clear(), stm::integral_set< IntegralRangeT, RangeSetT >::fill(), stm::integral_-set< IntegralRangeT, RangeSetT >::operator-=(), stm::integral_set< IntegralRangeT, RangeSetT>::operator|=(), stm::integral_set< IntegralRangeT, RangeSetT >::size(), stm::integral_set< Integral-RangeT, RangeSetT >::swap(), and stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::verify().

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

• divxaids.hpp

12.126 stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::Env Struct Ref-erence

Collaboration diagram for stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::Env:

stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::Env

stm::local::xIntegral_set< IntegralRangeT, RangeSetT >

rangeset

12.126.1 Detailed Description

template<class IntegralRangeT, class RangeSetT> struct stm::local::xIntegral_set< Integral-RangeT, RangeSetT >::Env

Definition at line 481 of file divxaids.hpp.

Public Member Functions

• Env (impl ∗parent)

Public Attributes

• range_type range• impl ∗ rangeset

12.126.2 Constructor & Destructor Documentation

12.126.2.1 template<class IntegralRangeT, class RangeSetT> stm::local::xIntegral_set< Integral-RangeT, RangeSetT >::Env::Env (impl ∗ parent) [inline]

Definition at line 483 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 463: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.127 stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator ClassReference 462

12.126.3 Member Data Documentation

12.126.3.1 template<class IntegralRangeT, class RangeSetT> range_type stm::local::xIntegral_-set< IntegralRangeT, RangeSetT >::Env::range

Definition at line 487 of file divxaids.hpp.

12.126.3.2 template<class IntegralRangeT, class RangeSetT> impl∗ stm::local::xIntegral_set< In-tegralRangeT, RangeSetT >::Env::rangeset

Definition at line 489 of file divxaids.hpp.

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

• divxaids.hpp

12.127 stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_-iterator Class Reference

#include <divxaids.hpp>

Collaboration diagram for stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator:

stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator

stm::local::xIntegral_set< IntegralRangeT, RangeSetT >

parent_

12.127.1 Detailed Description

template<class IntegralRangeT, class RangeSetT> class stm::local::xIntegral_set< IntegralRangeT,RangeSetT >::integral_iterator

Definition at line 417 of file divxaids.hpp.

Public Member Functions

• integral_iterator ()• bool operator== (const integral_iterator &other) const• bool operator!= (const integral_iterator &other) const• integral_type operator ∗ () const• integral_iterator & operator++ ()• const integral_iterator & operator++ (int)• integral_iterator & operator– ()• const integral_iterator & operator– (int)

Private Member Functions

• integral_iterator (const impl ∗parent, typename impl::const_iterator rit, integral_type value)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 464: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.128 stm::tools::local::xLvdsPacket< ContextT > Class Template Reference 463

Private Attributes

• const impl ∗ parent_• impl::const_iterator rit_• integral_type value_

Friends

• class xIntegral_set< IntegralRangeT, RangeSetT >

12.127.2 Friends And Related Function Documentation

12.127.2.1 template<class IntegralRangeT, class RangeSetT> friend class xIntegral_set< Integral-RangeT, RangeSetT > [friend]

Definition at line 427 of file divxaids.hpp.

12.127.3 Member Data Documentation

12.127.3.1 template<class IntegralRangeT, class RangeSetT> const impl∗ stm::local::xIntegral_-set< IntegralRangeT, RangeSetT >::integral_iterator::parent_ [private]

Definition at line 454 of file divxaids.hpp.

Referenced by stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::operator∗(), stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::operator++(), andstm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::operator–().

12.127.3.2 template<class IntegralRangeT, class RangeSetT> impl::const_iteratorstm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::rit_ [private]

Definition at line 455 of file divxaids.hpp.

Referenced by stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::operator∗(), stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::operator++(), andstm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::operator–().

12.127.3.3 template<class IntegralRangeT, class RangeSetT> integral_typestm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::value_ [private]

Definition at line 456 of file divxaids.hpp.

Referenced by stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::operator∗(), stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::operator++(), andstm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator::operator–().

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

• divxaids.hpp

12.128 stm::tools::local::xLvdsPacket< ContextT > Class Template Reference

#include <xlvdspacket.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 465: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.128 stm::tools::local::xLvdsPacket< ContextT > Class Template Reference 464

Inheritance diagram for stm::tools::local::xLvdsPacket< ContextT >:

stm::tools::local::xLvdsPacket< ContextT >

stm::tools::LvdsPacket< ContextT >

Collaboration diagram for stm::tools::local::xLvdsPacket< ContextT >:

stm::tools::local::xLvdsPacket< ContextT >

stm::tools::BinMessage< ContextT >

parent_

stm::byte_iterator_range

body_

stm::tools::BaseMessage< ContextT >

stm::tools::local::xBaseMessage< ContextT >

body_

stm::tools::local::xBinMessage< ContextT >

message_

stm::tools::MsgTimestamp

timestamp_

stm::tools::local::xMsgTimestamp

12.128.1 Detailed Description

template<class ContextT> class stm::tools::local::xLvdsPacket< ContextT >

stm::tools::LvdsPacket implementation base class template.

Definition at line 137 of file xlvdspacket.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 466: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.128 stm::tools::local::xLvdsPacket< ContextT > Class Template Reference 465

Protected Types

• enum { HeaderSize = 5 }

Protected Member Functions

• xLvdsPacket (const parent_type &parent)

Protected Attributes

• dword status_Status of the LVDS packet.

• byte lvdsSubslot_• word ubrId_• byte priority_• word antennaFlags_• byte dataType_• bool frq_• bool rsv_• byte_iterator_range body_

byte range consisting of the packet’s payload excluding the other fields.

• byte fcs_• const parent_type & parent_

Private Types

• typedef ContextT context_type• typedef BinMessage< ContextT > parent_type

12.128.2 Member Typedef Documentation

12.128.2.1 template<class ContextT> typedef ContextT stm::tools::local::xLvdsPacket< Con-textT >::context_type [private]

Reimplemented in stm::tools::LvdsPacket< ContextT >.

Definition at line 139 of file xlvdspacket.hpp.

12.128.2.2 template<class ContextT> typedef BinMessage<ContextT>stm::tools::local::xLvdsPacket< ContextT >::parent_type [private]

Reimplemented in stm::tools::LvdsPacket< ContextT >.

Definition at line 140 of file xlvdspacket.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 467: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.128 stm::tools::local::xLvdsPacket< ContextT > Class Template Reference 466

12.128.3 Member Enumeration Documentation

12.128.3.1 template<class ContextT> anonymous enum [protected]

Enumerator:

HeaderSize

Definition at line 143 of file xlvdspacket.hpp.

12.128.4 Constructor & Destructor Documentation

12.128.4.1 template<class ContextT> stm::tools::local::xLvdsPacket< ContextT >::xLvdsPacket(const parent_type & parent) [inline, protected]

Definition at line 148 of file xlvdspacket.hpp.

12.128.5 Member Data Documentation

12.128.5.1 template<class ContextT> dword stm::tools::local::xLvdsPacket< ContextT>::status_ [protected]

Status of the LVDS packet.

Definition at line 161 of file xlvdspacket.hpp.

Referenced by stm::tools::LvdsPacket< ContextT >::LvdsPacket(), and stm::tools::LvdsPacket< Con-textT >::status().

12.128.5.2 template<class ContextT> byte stm::tools::local::xLvdsPacket< ContextT>::lvdsSubslot_ [protected]

Definition at line 162 of file xlvdspacket.hpp.

Referenced by stm::tools::LvdsPacket< ContextT >::LvdsPacket(), and stm::tools::LvdsPacket< Con-textT >::lvdsSubslot().

12.128.5.3 template<class ContextT> word stm::tools::local::xLvdsPacket< ContextT >::ubrId_[protected]

Definition at line 163 of file xlvdspacket.hpp.

Referenced by stm::tools::LvdsPacket< ContextT >::LvdsPacket(), and stm::tools::LvdsPacket< Con-textT >::ubrId().

12.128.5.4 template<class ContextT> byte stm::tools::local::xLvdsPacket< ContextT>::priority_ [protected]

Definition at line 164 of file xlvdspacket.hpp.

Referenced by stm::tools::LvdsPacket< ContextT >::LvdsPacket(), and stm::tools::LvdsPacket< Con-textT >::priority().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 468: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.128 stm::tools::local::xLvdsPacket< ContextT > Class Template Reference 467

12.128.5.5 template<class ContextT> word stm::tools::local::xLvdsPacket< ContextT>::antennaFlags_ [protected]

Definition at line 165 of file xlvdspacket.hpp.

Referenced by stm::tools::LvdsPacket< ContextT >::antennaFlags(), and stm::tools::LvdsPacket< Con-textT >::LvdsPacket().

12.128.5.6 template<class ContextT> byte stm::tools::local::xLvdsPacket< ContextT>::dataType_ [protected]

Definition at line 166 of file xlvdspacket.hpp.

Referenced by stm::tools::LvdsPacket< ContextT >::dataType(), and stm::tools::LvdsPacket< ContextT>::LvdsPacket().

12.128.5.7 template<class ContextT> bool stm::tools::local::xLvdsPacket< ContextT >::frq_-[protected]

Definition at line 167 of file xlvdspacket.hpp.

Referenced by stm::tools::LvdsPacket< ContextT >::frq(), and stm::tools::LvdsPacket< ContextT>::LvdsPacket().

12.128.5.8 template<class ContextT> bool stm::tools::local::xLvdsPacket< ContextT >::rsv_-[protected]

Definition at line 168 of file xlvdspacket.hpp.

Referenced by stm::tools::LvdsPacket< ContextT >::LvdsPacket(), and stm::tools::LvdsPacket< Con-textT >::rsv().

12.128.5.9 template<class ContextT> byte_iterator_range stm::tools::local::xLvdsPacket< Con-textT >::body_ [protected]

byte range consisting of the packet’s payload excluding the other fields.

Definition at line 169 of file xlvdspacket.hpp.

Referenced by stm::tools::LvdsPacket< ContextT >::body(), and stm::tools::LvdsPacket< ContextT>::LvdsPacket().

12.128.5.10 template<class ContextT> byte stm::tools::local::xLvdsPacket< ContextT >::fcs_-[protected]

Definition at line 171 of file xlvdspacket.hpp.

Referenced by stm::tools::LvdsPacket< ContextT >::fcs(), and stm::tools::LvdsPacket< ContextT>::LvdsPacket().

12.128.5.11 template<class ContextT> const parent_type& stm::tools::local::xLvdsPacket< Con-textT >::parent_ [protected]

Definition at line 172 of file xlvdspacket.hpp.

Referenced by stm::tools::LvdsPacket< ContextT >::LvdsPacket(), and stm::tools::LvdsPacket< Con-textT >::parent().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 469: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.129 stm::tools::local::xMcBspMessage< ContextT > Class Template Reference 468

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

• xlvdspacket.hpp

12.129 stm::tools::local::xMcBspMessage< ContextT > Class Template Refer-ence

#include <xmcbspmsg.hpp>

Inheritance diagram for stm::tools::local::xMcBspMessage< ContextT >:

stm::tools::local::xMcBspMessage< ContextT >

stm::tools::McBspMessage< ContextT >

12.129.1 Detailed Description

template<class ContextT> class stm::tools::local::xMcBspMessage< ContextT >

stm::tools::McBspMessage implementation base class template.

Definition at line 141 of file xmcbspmsg.hpp.

Protected Types

• enum {

WordSize = basemessage_type::WordSize,

EndWordSize = WordSize,

EndWordPattern = 0x8f8f8f8f }

Static Protected Attributes

• static std::string type_ = "McBSP message"

Private Types

• typedef ContextT context_type• typedef BaseMessage< ContextT > basemessage_type

Friends

• class McBspMessage< context_type >

Classes

• class IdentificationType managing the identification of a McBSP message in a byte stream.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 470: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.130 stm::tools::local::xMcBspMessage< ContextT >::Identification Class Reference 469

12.129.2 Member Typedef Documentation

12.129.2.1 template<class ContextT> typedef ContextT stm::tools::local::xMcBspMessage< Con-textT >::context_type [private]

Reimplemented in stm::tools::McBspMessage< ContextT >.

Definition at line 143 of file xmcbspmsg.hpp.

12.129.2.2 template<class ContextT> typedef BaseMessage<ContextT>stm::tools::local::xMcBspMessage< ContextT >::basemessage_type [private]

Reimplemented in stm::tools::McBspMessage< ContextT >.

Definition at line 144 of file xmcbspmsg.hpp.

12.129.3 Member Enumeration Documentation

12.129.3.1 template<class ContextT> anonymous enum [protected]

Enumerator:

WordSizeEndWordSizeEndWordPattern

Definition at line 148 of file xmcbspmsg.hpp.

12.129.4 Friends And Related Function Documentation

12.129.4.1 template<class ContextT> friend class McBspMessage< context_type > [friend]

Definition at line 145 of file xmcbspmsg.hpp.

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

• xmcbspmsg.hpp

12.130 stm::tools::local::xMcBspMessage< ContextT >::Identification Class Ref-erence

#include <xmcbspmsg.hpp>

12.130.1 Detailed Description

template<class ContextT> class stm::tools::local::xMcBspMessage< ContextT >::Identification

Type managing the identification of a McBSP message in a byte stream.

Definition at line 156 of file xmcbspmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 471: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.130 stm::tools::local::xMcBspMessage< ContextT >::Identification Class Reference 470

Public Member Functions

• Identification ()• bool operator() (const byte ∗first, const byte ∗last, context_type &context)

The operator returns true, if valid identification data could be retrieved from [first, last) else it clears thisIdentification object and returns false.

• operator bool () const• word size () const• word bfn () const• byte slot () const• word chip () const• word bodyLength () const• void clear ()

Private Types

• enum { Size4 }• enum { Size5 }

Private Attributes

• word size_• word bfn_• byte slot_• word chip_• word bodyLength_• word sync_

Static Private Attributes

• static const qword RequiredZeroBitsMaskSize4 = 0x80700000f8f0f000ULL• static const qword RequiredOneBitsMaskSize4 = 0x478f000000000000ULL• static const qword RequiredZeroBitsMaskSize5 = 0x700000f000f0f000ULL• static const qword RequiredOneBitsMaskSize5 = 0x8f00000000000000ULL• static const dword ReqHeaderWordZeroBitsMask = 0x80700000• static const dword ReqHeaderWordOneBitsMask = 0x478f0000

12.130.2 Member Enumeration Documentation

12.130.2.1 template<class ContextT> anonymous enum [private]

Enumerator:

Size4

Definition at line 263 of file xmcbspmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 472: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.130 stm::tools::local::xMcBspMessage< ContextT >::Identification Class Reference 471

12.130.2.2 template<class ContextT> anonymous enum [private]

Enumerator:

Size5

Definition at line 270 of file xmcbspmsg.hpp.

12.130.3 Constructor & Destructor Documentation

12.130.3.1 template<class ContextT> stm::tools::local::xMcBspMessage< ContextT>::Identification::Identification () [inline]

Definition at line 159 of file xmcbspmsg.hpp.

References stm::tools::local::xMcBspMessage< ContextT >::Identification::clear().

12.130.4 Member Function Documentation

12.130.4.1 template<class ContextT> bool stm::tools::local::xMcBspMessage< ContextT>::Identification::operator() (const byte ∗ first, const byte ∗ last, context_type & context)[inline]

The operator returns true, if valid identification data could be retrieved from [first, last) else it clears thisIdentification object and returns false.

Throws, if the reading of the data from [first, last) fails due to a lack of input bytes.

Definition at line 170 of file xmcbspmsg.hpp.

References stm::tools::local::xMcBspMessage< ContextT >::Identification::bfn_-, stm::tools::local::xMcBspMessage< ContextT >::Identification::bodyLength_-, stm::tools::local::xMcBspMessage< ContextT >::Identification::chip_-, stm::tools::local::xMcBspMessage< ContextT >::Identification::clear(),stm::tools::local::xMcBspMessage< ContextT >::Identification::ReqHeaderWordOneBitsMask,stm::tools::local::xMcBspMessage< ContextT >::Identification::ReqHeaderWordZeroBitsMask,stm::tools::local::xMcBspMessage< ContextT >::Identification::RequiredOneBitsMaskSize4,stm::tools::local::xMcBspMessage< ContextT >::Identification::RequiredOneBitsMaskSize5,stm::tools::local::xMcBspMessage< ContextT >::Identification::RequiredZeroBitsMaskSize4,stm::tools::local::xMcBspMessage< ContextT >::Identification::RequiredZeroBitsMaskSize5,stm::tools::local::xMcBspMessage< ContextT >::Identification::Size4,stm::tools::local::xMcBspMessage< ContextT >::Identification::Size5,stm::tools::local::xMcBspMessage< ContextT >::Identification::size_-, stm::tools::local::xMcBspMessage< ContextT >::Identification::slot_, andstm::tools::local::xMcBspMessage< ContextT >::Identification::sync_.

12.130.4.2 template<class ContextT> stm::tools::local::xMcBspMessage< ContextT>::Identification::operator bool () const [inline]

Definition at line 214 of file xmcbspmsg.hpp.

References stm::tools::local::xMcBspMessage< ContextT >::Identification::sync_.

12.130.4.3 template<class ContextT> word stm::tools::local::xMcBspMessage< ContextT>::Identification::size () const [inline]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 473: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.130 stm::tools::local::xMcBspMessage< ContextT >::Identification Class Reference 472

Definition at line 219 of file xmcbspmsg.hpp.

References stm::tools::local::xMcBspMessage< ContextT >::Identification::size_.

Referenced by stm::tools::McBspMessage< ContextT >::McBspMessage().

12.130.4.4 template<class ContextT> word stm::tools::local::xMcBspMessage< ContextT>::Identification::bfn () const [inline]

Definition at line 224 of file xmcbspmsg.hpp.

References stm::tools::local::xMcBspMessage< ContextT >::Identification::bfn_.

Referenced by stm::tools::McBspMessage< ContextT >::McBspMessage().

12.130.4.5 template<class ContextT> byte stm::tools::local::xMcBspMessage< ContextT>::Identification::slot () const [inline]

Definition at line 229 of file xmcbspmsg.hpp.

References stm::tools::local::xMcBspMessage< ContextT >::Identification::slot_.

Referenced by stm::tools::McBspMessage< ContextT >::McBspMessage().

12.130.4.6 template<class ContextT> word stm::tools::local::xMcBspMessage< ContextT>::Identification::chip () const [inline]

Definition at line 234 of file xmcbspmsg.hpp.

References stm::tools::local::xMcBspMessage< ContextT >::Identification::chip_.

Referenced by stm::tools::McBspMessage< ContextT >::McBspMessage().

12.130.4.7 template<class ContextT> word stm::tools::local::xMcBspMessage< ContextT>::Identification::bodyLength () const [inline]

Definition at line 239 of file xmcbspmsg.hpp.

References stm::tools::local::xMcBspMessage< ContextT >::Identification::bodyLength_.

Referenced by stm::tools::McBspMessage< ContextT >::McBspMessage().

12.130.4.8 template<class ContextT> void stm::tools::local::xMcBspMessage< ContextT>::Identification::clear () [inline]

Definition at line 244 of file xmcbspmsg.hpp.

References stm::tools::local::xMcBspMessage< ContextT >::Identification::bfn_-, stm::tools::local::xMcBspMessage< ContextT >::Identification::bodyLength_-, stm::tools::local::xMcBspMessage< ContextT >::Identification::chip_-, stm::tools::local::xMcBspMessage< ContextT >::Identification::size_-, stm::tools::local::xMcBspMessage< ContextT >::Identification::slot_, andstm::tools::local::xMcBspMessage< ContextT >::Identification::sync_.

Referenced by stm::tools::local::xMcBspMessage< ContextT >::Identification::Identification(),stm::tools::McBspMessage< ContextT >::McBspMessage(), and stm::tools::local::xMcBspMessage<ContextT >::Identification::operator()().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 474: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.130 stm::tools::local::xMcBspMessage< ContextT >::Identification Class Reference 473

12.130.5 Member Data Documentation

12.130.5.1 template<class ContextT> word stm::tools::local::xMcBspMessage< ContextT>::Identification::size_ [private]

Definition at line 256 of file xmcbspmsg.hpp.

Referenced by stm::tools::local::xMcBspMessage< ContextT >::Identification::clear(),stm::tools::local::xMcBspMessage< ContextT >::Identification::operator()(), andstm::tools::local::xMcBspMessage< ContextT >::Identification::size().

12.130.5.2 template<class ContextT> word stm::tools::local::xMcBspMessage< ContextT>::Identification::bfn_ [private]

Definition at line 257 of file xmcbspmsg.hpp.

Referenced by stm::tools::local::xMcBspMessage< ContextT >::Identification::bfn(),stm::tools::local::xMcBspMessage< ContextT >::Identification::clear(), andstm::tools::local::xMcBspMessage< ContextT >::Identification::operator()().

12.130.5.3 template<class ContextT> byte stm::tools::local::xMcBspMessage< ContextT>::Identification::slot_ [private]

Definition at line 258 of file xmcbspmsg.hpp.

Referenced by stm::tools::local::xMcBspMessage< ContextT >::Identification::clear(),stm::tools::local::xMcBspMessage< ContextT >::Identification::operator()(), andstm::tools::local::xMcBspMessage< ContextT >::Identification::slot().

12.130.5.4 template<class ContextT> word stm::tools::local::xMcBspMessage< ContextT>::Identification::chip_ [private]

Definition at line 259 of file xmcbspmsg.hpp.

Referenced by stm::tools::local::xMcBspMessage< ContextT >::Identification::chip(),stm::tools::local::xMcBspMessage< ContextT >::Identification::clear(), andstm::tools::local::xMcBspMessage< ContextT >::Identification::operator()().

12.130.5.5 template<class ContextT> word stm::tools::local::xMcBspMessage< ContextT>::Identification::bodyLength_ [private]

Definition at line 260 of file xmcbspmsg.hpp.

Referenced by stm::tools::local::xMcBspMessage< ContextT >::Identification::bodyLength(),stm::tools::local::xMcBspMessage< ContextT >::Identification::clear(), andstm::tools::local::xMcBspMessage< ContextT >::Identification::operator()().

12.130.5.6 template<class ContextT> word stm::tools::local::xMcBspMessage< ContextT>::Identification::sync_ [private]

Definition at line 261 of file xmcbspmsg.hpp.

Referenced by stm::tools::local::xMcBspMessage< ContextT >::Identification::clear(),stm::tools::local::xMcBspMessage< ContextT >::Identification::operator bool(), andstm::tools::local::xMcBspMessage< ContextT >::Identification::operator()().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 475: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.131 stm::tools::local::xMsgTimestamp Class Reference 474

12.130.5.7 template<class ContextT> const qword stm::tools::local::xMcBspMessage< Con-textT >::Identification::RequiredZeroBitsMaskSize4 = 0x80700000f8f0f000ULL [static,private]

Definition at line 277 of file xmcbspmsg.hpp.

Referenced by stm::tools::local::xMcBspMessage< ContextT >::Identification::operator()().

12.130.5.8 template<class ContextT> const qword stm::tools::local::xMcBspMessage< Con-textT >::Identification::RequiredOneBitsMaskSize4 = 0x478f000000000000ULL [static,private]

Definition at line 278 of file xmcbspmsg.hpp.

Referenced by stm::tools::local::xMcBspMessage< ContextT >::Identification::operator()().

12.130.5.9 template<class ContextT> const qword stm::tools::local::xMcBspMessage< Con-textT >::Identification::RequiredZeroBitsMaskSize5 = 0x700000f000f0f000ULL [static,private]

Definition at line 279 of file xmcbspmsg.hpp.

Referenced by stm::tools::local::xMcBspMessage< ContextT >::Identification::operator()().

12.130.5.10 template<class ContextT> const qword stm::tools::local::xMcBspMessage< Con-textT >::Identification::RequiredOneBitsMaskSize5 = 0x8f00000000000000ULL [static,private]

Definition at line 280 of file xmcbspmsg.hpp.

Referenced by stm::tools::local::xMcBspMessage< ContextT >::Identification::operator()().

12.130.5.11 template<class ContextT> const dword stm::tools::local::xMcBspMessage< Con-textT >::Identification::ReqHeaderWordZeroBitsMask = 0x80700000 [static, private]

Definition at line 281 of file xmcbspmsg.hpp.

Referenced by stm::tools::local::xMcBspMessage< ContextT >::Identification::operator()().

12.130.5.12 template<class ContextT> const dword stm::tools::local::xMcBspMessage< Con-textT >::Identification::ReqHeaderWordOneBitsMask = 0x478f0000 [static, private]

Definition at line 282 of file xmcbspmsg.hpp.

Referenced by stm::tools::local::xMcBspMessage< ContextT >::Identification::operator()().

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

• xmcbspmsg.hpp

12.131 stm::tools::local::xMsgTimestamp Class Reference

#include <xmsgtimestamp.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 476: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.131 stm::tools::local::xMsgTimestamp Class Reference 475

Inheritance diagram for stm::tools::local::xMsgTimestamp:

stm::tools::local::xMsgTimestamp

stm::tools::MsgTimestamp

12.131.1 Detailed Description

stm::tools::MsgTimestamp implementation base class.

Definition at line 127 of file xmsgtimestamp.hpp.

Protected Types

• enum {

Invalid = 0,

Udp = 1,

Fpga = 2 }• typedef xMsgTimestamp MsgTimestampImpl

Protected Member Functions

• xMsgTimestamp ()

Protected Attributes

• byte status_• word bfn_• byte slot_• word chip_• dword boardTimeSec_• word boardTimeMs_• dword seqNo_• bool hsTadsib_

12.131.2 Member Typedef Documentation

12.131.2.1 typedef xMsgTimestamp stm::tools::local::xMsgTimestamp::MsgTimestampImpl[protected]

Definition at line 130 of file xmsgtimestamp.hpp.

12.131.3 Member Enumeration Documentation

12.131.3.1 anonymous enum [protected]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 477: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.131 stm::tools::local::xMsgTimestamp Class Reference 476

Enumerator:

InvalidUdpFpga

Definition at line 132 of file xmsgtimestamp.hpp.

12.131.4 Constructor & Destructor Documentation

12.131.4.1 stm::tools::local::xMsgTimestamp::xMsgTimestamp () [inline, protected]

Definition at line 139 of file xmsgtimestamp.hpp.

12.131.5 Member Data Documentation

12.131.5.1 byte stm::tools::local::xMsgTimestamp::status_ [protected]

Definition at line 150 of file xmsgtimestamp.hpp.

Referenced by stm::tools::MsgTimestamp::isFpga(), stm::tools::MsgTimestamp::isUdp(),stm::tools::MsgTimestamp::status(), and stm::tools::MsgTimestamp::valid().

12.131.5.2 word stm::tools::local::xMsgTimestamp::bfn_ [protected]

Definition at line 151 of file xmsgtimestamp.hpp.

Referenced by stm::tools::MsgTimestamp::bfn().

12.131.5.3 byte stm::tools::local::xMsgTimestamp::slot_ [protected]

Definition at line 152 of file xmsgtimestamp.hpp.

Referenced by stm::tools::MsgTimestamp::slot().

12.131.5.4 word stm::tools::local::xMsgTimestamp::chip_ [protected]

Definition at line 153 of file xmsgtimestamp.hpp.

Referenced by stm::tools::MsgTimestamp::chip().

12.131.5.5 dword stm::tools::local::xMsgTimestamp::boardTimeSec_ [protected]

Definition at line 154 of file xmsgtimestamp.hpp.

Referenced by stm::tools::MsgTimestamp::boardTimeSec().

12.131.5.6 word stm::tools::local::xMsgTimestamp::boardTimeMs_ [protected]

Definition at line 155 of file xmsgtimestamp.hpp.

Referenced by stm::tools::MsgTimestamp::boardTimeMs().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 478: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.132 stm::tools::local::xPrintkBinMessage< ContextT > Class Template Reference 477

12.131.5.7 dword stm::tools::local::xMsgTimestamp::seqNo_ [protected]

Definition at line 156 of file xmsgtimestamp.hpp.

Referenced by stm::tools::MsgTimestamp::seqNo().

12.131.5.8 bool stm::tools::local::xMsgTimestamp::hsTadsib_ [protected]

Definition at line 157 of file xmsgtimestamp.hpp.

Referenced by stm::tools::MsgTimestamp::hsTadsib().

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

• xmsgtimestamp.hpp

12.132 stm::tools::local::xPrintkBinMessage< ContextT > Class Template Refer-ence

#include <xprintkbinmsg.hpp>

Inheritance diagram for stm::tools::local::xPrintkBinMessage< ContextT >:

stm::tools::local::xPrintkBinMessage< ContextT >

stm::tools::PrintkBinMessage< ContextT >

12.132.1 Detailed Description

template<class ContextT> class stm::tools::local::xPrintkBinMessage< ContextT >

Definition at line 140 of file xprintkbinmsg.hpp.

Protected Types

• enum { WordSize = basemessage_type::WordSize }

Static Protected Attributes

• static std::string type_ = "PrintkBin message"

Private Types

• typedef ContextT context_type• typedef BaseMessage< ContextT > basemessage_type

Friends

• class PrintkBinMessage< context_type >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 479: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.133 stm::tools::local::xPrintkBinMessage< ContextT >::Identification Class Reference 478

Classes

• class Identification

12.132.2 Member Typedef Documentation

12.132.2.1 template<class ContextT> typedef ContextT stm::tools::local::xPrintkBinMessage<ContextT >::context_type [private]

Reimplemented in stm::tools::PrintkBinMessage< ContextT >.

Definition at line 142 of file xprintkbinmsg.hpp.

12.132.2.2 template<class ContextT> typedef BaseMessage<ContextT>stm::tools::local::xPrintkBinMessage< ContextT >::basemessage_type [private]

Reimplemented in stm::tools::PrintkBinMessage< ContextT >.

Definition at line 143 of file xprintkbinmsg.hpp.

12.132.3 Member Enumeration Documentation

12.132.3.1 template<class ContextT> anonymous enum [protected]

Enumerator:

WordSize

Definition at line 147 of file xprintkbinmsg.hpp.

12.132.4 Friends And Related Function Documentation

12.132.4.1 template<class ContextT> friend class PrintkBinMessage< context_type >[friend]

Definition at line 144 of file xprintkbinmsg.hpp.

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

• xprintkbinmsg.hpp

12.133 stm::tools::local::xPrintkBinMessage< ContextT >::Identification ClassReference

#include <xprintkbinmsg.hpp>

12.133.1 Detailed Description

template<class ContextT> class stm::tools::local::xPrintkBinMessage< ContextT >::Identification

Definition at line 152 of file xprintkbinmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 480: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.133 stm::tools::local::xPrintkBinMessage< ContextT >::Identification Class Reference 479

Public Member Functions

• Identification ()• bool operator() (const byte ∗first, const byte ∗last, context_type &context)

The operator returns true, if valid identification data could be retrieved from [first, last) else it clears thisIdentification object returns false.

• operator bool () const• word size () const• word bfn () const• dword boardTimeSec () const• word boardTimeMs () const• dword seqNo () const• word bodyLength () const• void addBodyLength (word val)• void clear ()

Private Types

• enum { SizeZyxw }• enum { SizeAbcd }

Private Attributes

• word size_• dword sync_• word bfn_• dword boardTimeSec_• word boardTimeMs_• dword seqNo_• word bodyLength_

Static Private Attributes

• static const dword SyncWordPatternZyxw = 0x7a797877• static const dword SyncWordPatternAbcd = 0x61626364• static const word BfnMask = 0x0fff

12.133.2 Member Enumeration Documentation

12.133.2.1 template<class ContextT> anonymous enum [private]

Enumerator:

SizeZyxw

Definition at line 284 of file xprintkbinmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 481: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.133 stm::tools::local::xPrintkBinMessage< ContextT >::Identification Class Reference 480

12.133.2.2 template<class ContextT> anonymous enum [private]

Enumerator:

SizeAbcd

Definition at line 292 of file xprintkbinmsg.hpp.

12.133.3 Constructor & Destructor Documentation

12.133.3.1 template<class ContextT> stm::tools::local::xPrintkBinMessage< ContextT>::Identification::Identification () [inline]

Definition at line 155 of file xprintkbinmsg.hpp.

References stm::tools::local::xPrintkBinMessage< ContextT >::Identification::clear().

12.133.4 Member Function Documentation

12.133.4.1 template<class ContextT> bool stm::tools::local::xPrintkBinMessage< ContextT>::Identification::operator() (const byte ∗ first, const byte ∗ last, context_type & context)[inline]

The operator returns true, if valid identification data could be retrieved from [first, last) else it clears thisIdentification object returns false.

Throws, if the reading of the data from [first, last) fails due to a lack of input bytes.

Definition at line 166 of file xprintkbinmsg.hpp.

References stm::tools::local::xPrintkBinMessage< ContextT >::Identification::bfn_-, stm::tools::local::xPrintkBinMessage< ContextT >::Identification::BfnMask,stm::tools::local::xPrintkBinMessage< ContextT >::Identification::boardTimeMs_-, stm::tools::local::xPrintkBinMessage< ContextT >::Identification::boardTimeSec_-, stm::tools::local::xPrintkBinMessage< ContextT >::Identification::bodyLength_-, stm::tools::local::xPrintkBinMessage< ContextT >::Identification::clear(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::seqNo_-, stm::tools::local::xPrintkBinMessage< ContextT >::Identification::size_-, stm::tools::local::xPrintkBinMessage< ContextT >::Identification::SizeAbcd,stm::tools::local::xPrintkBinMessage< ContextT >::Identification::SizeZyxw,stm::tools::local::xPrintkBinMessage< ContextT >::Identification::sync_-, stm::tools::local::xPrintkBinMessage< ContextT >::Identification::SyncWordPatternAbcd,stm::tools::local::xPrintkBinMessage< ContextT >::Identification::SyncWordPatternZyxw, andstm::tools::local::xPrintkBinMessage< ContextT >::WordSize.

12.133.4.2 template<class ContextT> stm::tools::local::xPrintkBinMessage< ContextT>::Identification::operator bool () const [inline]

Definition at line 222 of file xprintkbinmsg.hpp.

References stm::tools::local::xPrintkBinMessage< ContextT >::Identification::sync_.

12.133.4.3 template<class ContextT> word stm::tools::local::xPrintkBinMessage< ContextT>::Identification::size () const [inline]

Definition at line 227 of file xprintkbinmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 482: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.133 stm::tools::local::xPrintkBinMessage< ContextT >::Identification Class Reference 481

References stm::tools::local::xPrintkBinMessage< ContextT >::Identification::size_.

Referenced by stm::tools::PrintkBinMessage< ContextT >::PrintkBinMessage().

12.133.4.4 template<class ContextT> word stm::tools::local::xPrintkBinMessage< ContextT>::Identification::bfn () const [inline]

Definition at line 232 of file xprintkbinmsg.hpp.

References stm::tools::local::xPrintkBinMessage< ContextT >::Identification::bfn_.

Referenced by stm::tools::PrintkBinMessage< ContextT >::PrintkBinMessage().

12.133.4.5 template<class ContextT> dword stm::tools::local::xPrintkBinMessage< ContextT>::Identification::boardTimeSec () const [inline]

Definition at line 237 of file xprintkbinmsg.hpp.

References stm::tools::local::xPrintkBinMessage< ContextT >::Identification::boardTimeSec_.

Referenced by stm::tools::PrintkBinMessage< ContextT >::PrintkBinMessage().

12.133.4.6 template<class ContextT> word stm::tools::local::xPrintkBinMessage< ContextT>::Identification::boardTimeMs () const [inline]

Definition at line 242 of file xprintkbinmsg.hpp.

References stm::tools::local::xPrintkBinMessage< ContextT >::Identification::boardTimeMs_.

Referenced by stm::tools::PrintkBinMessage< ContextT >::PrintkBinMessage().

12.133.4.7 template<class ContextT> dword stm::tools::local::xPrintkBinMessage< ContextT>::Identification::seqNo () const [inline]

Definition at line 247 of file xprintkbinmsg.hpp.

References stm::tools::local::xPrintkBinMessage< ContextT >::Identification::seqNo_.

Referenced by stm::tools::PrintkBinMessage< ContextT >::PrintkBinMessage().

12.133.4.8 template<class ContextT> word stm::tools::local::xPrintkBinMessage< ContextT>::Identification::bodyLength () const [inline]

Definition at line 252 of file xprintkbinmsg.hpp.

References stm::tools::local::xPrintkBinMessage< ContextT >::Identification::bodyLength_.

Referenced by stm::tools::PrintkBinMessage< ContextT >::PrintkBinMessage().

12.133.4.9 template<class ContextT> void stm::tools::local::xPrintkBinMessage< ContextT>::Identification::addBodyLength (word val) [inline]

Definition at line 257 of file xprintkbinmsg.hpp.

References stm::tools::local::xPrintkBinMessage< ContextT >::Identification::bodyLength_.

Referenced by stm::tools::PrintkBinMessage< ContextT >::PrintkBinMessage().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 483: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.133 stm::tools::local::xPrintkBinMessage< ContextT >::Identification Class Reference 482

12.133.4.10 template<class ContextT> void stm::tools::local::xPrintkBinMessage< ContextT>::Identification::clear () [inline]

Definition at line 263 of file xprintkbinmsg.hpp.

References stm::tools::local::xPrintkBinMessage< ContextT >::Identification::bfn_-, stm::tools::local::xPrintkBinMessage< ContextT >::Identification::boardTimeMs_-, stm::tools::local::xPrintkBinMessage< ContextT >::Identification::boardTimeSec_-, stm::tools::local::xPrintkBinMessage< ContextT >::Identification::bodyLength_-, stm::tools::local::xPrintkBinMessage< ContextT >::Identification::seqNo_-, stm::tools::local::xPrintkBinMessage< ContextT >::Identification::size_, andstm::tools::local::xPrintkBinMessage< ContextT >::Identification::sync_.

Referenced by stm::tools::local::xPrintkBinMessage< ContextT >::Identification::Identification(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::operator()(), andstm::tools::PrintkBinMessage< ContextT >::PrintkBinMessage().

12.133.5 Member Data Documentation

12.133.5.1 template<class ContextT> word stm::tools::local::xPrintkBinMessage< ContextT>::Identification::size_ [private]

Definition at line 276 of file xprintkbinmsg.hpp.

Referenced by stm::tools::local::xPrintkBinMessage< ContextT >::Identification::clear(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::operator()(), andstm::tools::local::xPrintkBinMessage< ContextT >::Identification::size().

12.133.5.2 template<class ContextT> dword stm::tools::local::xPrintkBinMessage< ContextT>::Identification::sync_ [private]

Definition at line 277 of file xprintkbinmsg.hpp.

Referenced by stm::tools::local::xPrintkBinMessage< ContextT >::Identification::clear(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::operator bool(), andstm::tools::local::xPrintkBinMessage< ContextT >::Identification::operator()().

12.133.5.3 template<class ContextT> word stm::tools::local::xPrintkBinMessage< ContextT>::Identification::bfn_ [private]

Definition at line 278 of file xprintkbinmsg.hpp.

Referenced by stm::tools::local::xPrintkBinMessage< ContextT >::Identification::bfn(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::clear(), andstm::tools::local::xPrintkBinMessage< ContextT >::Identification::operator()().

12.133.5.4 template<class ContextT> dword stm::tools::local::xPrintkBinMessage< ContextT>::Identification::boardTimeSec_ [private]

Definition at line 279 of file xprintkbinmsg.hpp.

Referenced by stm::tools::local::xPrintkBinMessage< ContextT >::Identification::boardTimeSec(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::clear(), andstm::tools::local::xPrintkBinMessage< ContextT >::Identification::operator()().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 484: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.134 stm::local::xreadablefile Class Reference 483

12.133.5.5 template<class ContextT> word stm::tools::local::xPrintkBinMessage< ContextT>::Identification::boardTimeMs_ [private]

Definition at line 280 of file xprintkbinmsg.hpp.

Referenced by stm::tools::local::xPrintkBinMessage< ContextT >::Identification::boardTimeMs(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::clear(), andstm::tools::local::xPrintkBinMessage< ContextT >::Identification::operator()().

12.133.5.6 template<class ContextT> dword stm::tools::local::xPrintkBinMessage< ContextT>::Identification::seqNo_ [private]

Definition at line 281 of file xprintkbinmsg.hpp.

Referenced by stm::tools::local::xPrintkBinMessage< ContextT >::Identification::clear(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::operator()(), andstm::tools::local::xPrintkBinMessage< ContextT >::Identification::seqNo().

12.133.5.7 template<class ContextT> word stm::tools::local::xPrintkBinMessage< ContextT>::Identification::bodyLength_ [private]

Definition at line 282 of file xprintkbinmsg.hpp.

Referenced by stm::tools::local::xPrintkBinMessage< ContextT >::Identification::addBodyLength(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::bodyLength(),stm::tools::local::xPrintkBinMessage< ContextT >::Identification::clear(), andstm::tools::local::xPrintkBinMessage< ContextT >::Identification::operator()().

12.133.5.8 template<class ContextT> const dword stm::tools::local::xPrintkBinMessage< Con-textT >::Identification::SyncWordPatternZyxw = 0x7a797877 [static, private]

Definition at line 299 of file xprintkbinmsg.hpp.

Referenced by stm::tools::local::xPrintkBinMessage< ContextT >::Identification::operator()().

12.133.5.9 template<class ContextT> const dword stm::tools::local::xPrintkBinMessage< Con-textT >::Identification::SyncWordPatternAbcd = 0x61626364 [static, private]

Definition at line 300 of file xprintkbinmsg.hpp.

Referenced by stm::tools::local::xPrintkBinMessage< ContextT >::Identification::operator()().

12.133.5.10 template<class ContextT> const word stm::tools::local::xPrintkBinMessage< Con-textT >::Identification::BfnMask = 0x0fff [static, private]

Definition at line 301 of file xprintkbinmsg.hpp.

Referenced by stm::tools::local::xPrintkBinMessage< ContextT >::Identification::operator()().

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

• xprintkbinmsg.hpp

12.134 stm::local::xreadablefile Class Reference

#include <filesysxaids.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 485: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.135 stm::local::xrecursionenv Class Reference 484

Inheritance diagram for stm::local::xreadablefile:

stm::local::xreadablefile

stm::readablefile< NameT >

12.134.1 Detailed Description

stm::readablefile implementation base class.

Definition at line 239 of file filesysxaids.hpp.

Protected Member Functions

• xreadablefile ()

Protected Attributes

• size_t fsize_

12.134.2 Constructor & Destructor Documentation

12.134.2.1 stm::local::xreadablefile::xreadablefile () [inline, protected]

Definition at line 242 of file filesysxaids.hpp.

12.134.3 Member Data Documentation

12.134.3.1 size_t stm::local::xreadablefile::fsize_ [protected]

Definition at line 243 of file filesysxaids.hpp.

Referenced by stm::readablefile< NameT >::fileSize(), stm::readablefile< NameT >::isTextfile(),stm::readablefile< NameT >::readablefile(), and stm::readablefile< NameT >::swap().

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

• filesysxaids.hpp

12.135 stm::local::xrecursionenv Class Reference

#include <filesysxaids.hpp>

Inheritance diagram for stm::local::xrecursionenv:

stm::local::xrecursionenv

stm::path< NameT >::recursionenv

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 486: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.135 stm::local::xrecursionenv Class Reference 485

12.135.1 Detailed Description

stm::path::recursionenv implementation base class.

Definition at line 159 of file filesysxaids.hpp.

Protected Types

• typedef xrecursionenv impl

Protected Member Functions

• xrecursionenv (const boost::filesystem::path &root, dword flags)

Protected Attributes

• const boost::filesystem::path & root_• dword flags_

Static Protected Attributes

• static const dword FollowDirLinks = 0x00000001• static const dword DoNotRecurse = 0x00000002

12.135.2 Member Typedef Documentation

12.135.2.1 typedef xrecursionenv stm::local::xrecursionenv::impl [protected]

Definition at line 162 of file filesysxaids.hpp.

12.135.3 Constructor & Destructor Documentation

12.135.3.1 stm::local::xrecursionenv::xrecursionenv (const boost::filesystem::path & root, dwordflags) [inline, protected]

Definition at line 167 of file filesysxaids.hpp.

12.135.4 Member Data Documentation

12.135.4.1 const dword stm::local::xrecursionenv::FollowDirLinks = 0x00000001 [static,protected]

Reimplemented in stm::path< NameT >::recursionenv.

Definition at line 164 of file filesysxaids.hpp.

12.135.4.2 const dword stm::local::xrecursionenv::DoNotRecurse = 0x00000002 [static,protected]

Reimplemented in stm::path< NameT >::recursionenv.

Definition at line 165 of file filesysxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 487: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.136 stm::local::xscoped_lock Class Reference 486

12.135.4.3 const boost::filesystem::path& stm::local::xrecursionenv::root_ [protected]

Definition at line 172 of file filesysxaids.hpp.

Referenced by stm::path< NameT >::recursionenv::root().

12.135.4.4 dword stm::local::xrecursionenv::flags_ [protected]

Definition at line 173 of file filesysxaids.hpp.

Referenced by stm::path< NameT >::recursionenv::flags().

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

• filesysxaids.hpp

12.136 stm::local::xscoped_lock Class Reference

#include <divxaids.hpp>

Inheritance diagram for stm::local::xscoped_lock:

stm::local::xscoped_lock

stm::scoped_lock

12.136.1 Detailed Description

stm::scoped_lock implementation base class.

Definition at line 609 of file divxaids.hpp.

Protected Member Functions

• xscoped_lock (StmMutex mutex)

Protected Attributes

• StmMutex mutex_

Friends

• class xcondition

12.136.2 Constructor & Destructor Documentation

12.136.2.1 stm::local::xscoped_lock::xscoped_lock (StmMutex mutex) [inline,protected]

Definition at line 614 of file divxaids.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 488: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.137 stm::local::xsystem_condition Class Reference 487

12.136.3 Friends And Related Function Documentation

12.136.3.1 friend class xcondition [friend]

Definition at line 611 of file divxaids.hpp.

12.136.4 Member Data Documentation

12.136.4.1 StmMutex stm::local::xscoped_lock::mutex_ [protected]

Definition at line 618 of file divxaids.hpp.

Referenced by stm::scoped_lock::scoped_lock(), stm::local::xcondition::wait_(), and stm::scoped_-lock::∼scoped_lock().

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

• divxaids.hpp

12.137 stm::local::xsystem_condition Class Reference

#include <divxaids.hpp>

Inheritance diagram for stm::local::xsystem_condition:

stm::local::xsystem_condition

stm::system_condition

12.137.1 Detailed Description

stm::system_condition implementation base class.

Definition at line 558 of file divxaids.hpp.

Public Member Functions

• bool wait_ (system_scoped_lock &lock, int64 absTimeMs)

Protected Member Functions

• xsystem_condition (const std::string &name)

Protected Attributes

• StmNamedCondition cond_

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 489: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.138 stm::local::xsystem_scoped_lock Class Reference 488

12.137.2 Constructor & Destructor Documentation

12.137.2.1 stm::local::xsystem_condition::xsystem_condition (const std::string & name)[inline, protected]

Definition at line 564 of file divxaids.hpp.

12.137.3 Member Data Documentation

12.137.3.1 StmNamedCondition stm::local::xsystem_condition::cond_ [protected]

Definition at line 568 of file divxaids.hpp.

Referenced by stm::system_condition::broadcast(), stm::system_condition::signal(), stm::system_-condition::system_condition(), wait_(), and stm::system_condition::∼system_condition().

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

• divxaids.hpp

12.138 stm::local::xsystem_scoped_lock Class Reference

#include <divxaids.hpp>

Inheritance diagram for stm::local::xsystem_scoped_lock:

stm::local::xsystem_scoped_lock

stm::system_scoped_lock

12.138.1 Detailed Description

stm::system_scoped_lock implementation base class.

Definition at line 623 of file divxaids.hpp.

Protected Member Functions

• xsystem_scoped_lock (StmNamedMutex mutex)

Protected Attributes

• StmNamedMutex mutex_

Friends

• class xsystem_condition

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 490: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.139 stm::tools::local::xTraceHeader Class Reference 489

12.138.2 Constructor & Destructor Documentation

12.138.2.1 stm::local::xsystem_scoped_lock::xsystem_scoped_lock (StmNamedMutex mutex)[inline, protected]

Definition at line 628 of file divxaids.hpp.

12.138.3 Friends And Related Function Documentation

12.138.3.1 friend class xsystem_condition [friend]

Definition at line 625 of file divxaids.hpp.

12.138.4 Member Data Documentation

12.138.4.1 StmNamedMutex stm::local::xsystem_scoped_lock::mutex_ [protected]

Definition at line 632 of file divxaids.hpp.

Referenced by stm::system_scoped_lock::system_scoped_lock(), stm::local::xsystem_condition::wait_(),and stm::system_scoped_lock::∼system_scoped_lock().

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

• divxaids.hpp

12.139 stm::tools::local::xTraceHeader Class Reference

#include <xdspmsg.hpp>

Inheritance diagram for stm::tools::local::xTraceHeader:

stm::tools::local::xTraceHeader

stm::tools::DspMessage< ContextT >::TraceHeader

12.139.1 Detailed Description

stm::tools::DspMessage::TraceHeader implementation base class.

Definition at line 139 of file xdspmsg.hpp.

Protected Types

• typedef xTraceHeader TraceHeaderImpl

Protected Member Functions

• xTraceHeader (const byte_iterator_range &range)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 491: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.139 stm::tools::local::xTraceHeader Class Reference 490

Protected Attributes

• word size_• word bfn_• word frameChips_• word userFrameNo_• word userSlotNo_• word opCode_• word payloadLength_

Static Protected Attributes

• static const word Length = 7 ∗ sizeof (dword)Byte size of a trace header.

• static const word BbtOpCode = 0x018cOpcode identifying a BBT trace header.

• static const word DdtOpCode = 0x018dOpcode identifying a DDT trace header.

Friends

• class xDspMessage

12.139.2 Member Typedef Documentation

12.139.2.1 typedef xTraceHeader stm::tools::local::xTraceHeader::TraceHeaderImpl[protected]

Definition at line 144 of file xdspmsg.hpp.

12.139.3 Friends And Related Function Documentation

12.139.3.1 friend class xDspMessage [friend]

Definition at line 141 of file xdspmsg.hpp.

12.139.4 Member Data Documentation

12.139.4.1 word stm::tools::local::xTraceHeader::size_ [protected]

Definition at line 148 of file xdspmsg.hpp.

Referenced by stm::tools::DspMessage< ContextT >::TraceHeader::size(), and xTraceHeader().

12.139.4.2 word stm::tools::local::xTraceHeader::bfn_ [protected]

Definition at line 149 of file xdspmsg.hpp.

Referenced by stm::tools::DspMessage< ContextT >::TraceHeader::bfn(), and xTraceHeader().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 492: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.139 stm::tools::local::xTraceHeader Class Reference 491

12.139.4.3 word stm::tools::local::xTraceHeader::frameChips_ [protected]

Definition at line 150 of file xdspmsg.hpp.

Referenced by stm::tools::DspMessage< ContextT >::TraceHeader::frameChips(), and xTraceHeader().

12.139.4.4 word stm::tools::local::xTraceHeader::userFrameNo_ [protected]

Definition at line 151 of file xdspmsg.hpp.

Referenced by stm::tools::DspMessage< ContextT >::TraceHeader::userFrameNo(), and xTrace-Header().

12.139.4.5 word stm::tools::local::xTraceHeader::userSlotNo_ [protected]

Definition at line 152 of file xdspmsg.hpp.

Referenced by stm::tools::DspMessage< ContextT >::TraceHeader::userSlotNo(), and xTraceHeader().

12.139.4.6 word stm::tools::local::xTraceHeader::opCode_ [protected]

Definition at line 153 of file xdspmsg.hpp.

Referenced by stm::tools::DspMessage< ContextT >::TraceHeader::opCode(), and xTraceHeader().

12.139.4.7 word stm::tools::local::xTraceHeader::payloadLength_ [protected]

Definition at line 154 of file xdspmsg.hpp.

Referenced by stm::tools::DspMessage< ContextT >::TraceHeader::payloadLength(), and xTrace-Header().

12.139.4.8 const word stm::tools::local::xTraceHeader::Length = 7 ∗ sizeof (dword) [static,protected]

Byte size of a trace header.

Definition at line 156 of file xdspmsg.hpp.

Referenced by xTraceHeader().

12.139.4.9 const word stm::tools::local::xTraceHeader::BbtOpCode = 0x018c [static,protected]

Opcode identifying a BBT trace header.

Definition at line 157 of file xdspmsg.hpp.

Referenced by xTraceHeader().

12.139.4.10 const word stm::tools::local::xTraceHeader::DdtOpCode = 0x018d [static,protected]

Opcode identifying a DDT trace header.

Definition at line 158 of file xdspmsg.hpp.

Referenced by xTraceHeader().

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

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 493: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

12.140 Xyz Struct Reference 492

• xdspmsg.hpp• dspmsg.cpp

12.140 Xyz Struct Reference

12.140.1 Detailed Description

Examples:

smartptrtest.cpp.

Definition at line 176 of file smartptrtest.cpp.

Public Member Functions

• Xyz (stm::dword id=0, XyzPtr ptr=XyzPtr())

Public Attributes

• stm::dword id• XyzPtr ptr

12.140.2 Constructor & Destructor Documentation

12.140.2.1 Xyz::Xyz (stm::dword id = 0, XyzPtr ptr = XyzPtr ()) [inline]

Examples:

smartptrtest.cpp.

Definition at line 178 of file smartptrtest.cpp.

12.140.3 Member Data Documentation

12.140.3.1 stm::dword Xyz::id

Examples:

smartptrtest.cpp.

Definition at line 183 of file smartptrtest.cpp.

Referenced by operator<().

12.140.3.2 XyzPtr Xyz::ptr

Examples:

smartptrtest.cpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 494: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13 SysToMath C++ Libraries Implementation File Documentation 493

Definition at line 184 of file smartptrtest.cpp.

Referenced by operator<().

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

• smartptrtest.cpp

13 SysToMath C++ Libraries Implementation File Documentation

13.1 aids.hpp File Reference

13.1.1 Detailed Description

Central include file for SysToMath Aids C++ library.

Version:

1.09-r330

Date:

2007-11-24 00:15:01 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ header file includes all other library object interface header files of the SysToMath Aids C++Library stmaids.

Definition in file aids.hpp.

#include <stm/debugaids.hpp>

#include <stm/filesysaids.hpp>

#include <stm/divaids.hpp>

#include <stm/loggeraids.hpp>

#include <stm/smartptraids.hpp>

#include <stm/gencrc.hpp>

Include dependency graph for aids.hpp:

aids.hpp

stm/debugaids.hpp

stm/filesysaids.hpp

stm/divaids.hpp

stm/loggeraids.hppstm/smartptraids.hppstm/gencrc.hpp

stm/impl/debugxaids.hpp

stddef.h stdio.hios iostreamsstream fstreamexception stringstm/system.hstm/impl/aidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.hstring.h ctype.h

errno.h algorithmstdexcept utility

memoryiterator

locale

listmap

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/match.h

stm/impl/divxaids.hpp

limits.h setjmp.h iomanipfunctional boost/range.hpp

stm/impl/loggerxaids.hppstm/impl/smartptrxaids.hpp

stm/impl/genxcrc.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 495: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.2 aidsconfig.hpp File Reference 494

This graph shows which files directly or indirectly include this file:

aids.hpp

sudoku.cpp

13.2 aidsconfig.hpp File Reference

13.2.1 Detailed Description

Management of library generation and of automatic library choice for the SysToMath Aids C++ librarystmaids.

Version:

1.04-r4

Date:

2006-11-18 09:01:25 (tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ header file defines the macro StmDllSpec necessary for correct library usage and the pragmacomment(lib) responsible for correct library choice.

Definition in file aidsconfig.hpp.

#include <stm/internal/config.h>

Include dependency graph for aidsconfig.hpp:

aidsconfig.hpp

stm/internal/config.h

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 496: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.3 binmsg.hpp File Reference 495

This graph shows which files directly or indirectly include this file:

aidsconfig.hpp

debugxaids.hpp

divxaids.hpp

filesysxaids.hpp loggerxaids.hpp smartptrxaids.hpp

genxcrc.hpp

debugaids.hpp

aids.hppsmartptrtest.cpp

debugaids.cpp

sudoku.cpp

divaids.hpp

xbinmsg.hpp

xdspmsg.hpp xlvdspacket.hpp xmcbspmsg.hppxprintkbinmsg.hpp

xctaids.hpp

xmsgtimestamp.hppdivaids.cpp divaidstest.cpp gencrctest.cpp

filesysaids.hpp

filesysaids.cpp filesystest.cpp

binmsg.hpp

toolaids.hpp

dspmsg.hpp

dspmsg.cpp

lvdspacket.hpp mcbspmsg.hppprintkbinmsg.hpp

ctaids.hpp

ctaids.cpp

loggeraids.hpp smartptraids.hppmsgtimestamp.hpp

gencrc.hpp

Defines

• #define STM_LIB_NAME "stmaids"

13.2.2 Define Documentation

13.2.2.1 #define STM_LIB_NAME "stmaids"

Definition at line 80 of file aidsconfig.hpp.

13.3 binmsg.hpp File Reference

13.3.1 Detailed Description

Declarations for the abstract binary message model.

Version:

1.04-r5

Date:

2006-11-30 12:41:45 (demx18a6)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 497: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.3 binmsg.hpp File Reference 496

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ header file contains declarations of class templates providing an abstract binary message model.They are implemented in the C++ inline file xbinmsg.hpp belonging to the SysToMath Tool Aids C++Library stmtoolaids.

Definition in file binmsg.hpp.

#include <stm/toolaids/impl/xbinmsg.hpp>

Include dependency graph for binmsg.hpp:

binmsg.hpp

stm/toolaids/impl/xbinmsg.hpp

stddef.hexception stdexcept set

stm/filesysaids.hpp

stm/divaids.hpp

stm/toolaids/msgtimestamp.hpp

stm/toolaids/impl/toolaidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.h stdio.h string.h ctype.h

errno.h fstream sstream algorithm utility

memory iterator

string locale

list mapboost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h stm/match.h stm/impl/aidsconfig.hpp stm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.hiomanip functional boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp

stm/internal/config.h

stm/toolaids/impl/xmsgtimestamp.hpp

This graph shows which files directly or indirectly include this file:

binmsg.hpp

xdspmsg.hpp

toolaids.hpp

xlvdspacket.hpp xmcbspmsg.hpp xprintkbinmsg.hpp

dspmsg.hpp

dspmsg.cpp

lvdspacket.hpp mcbspmsg.hpp printkbinmsg.hpp

Namespaces

• namespace stm• namespace stm::tools

Classes

• class stm::tools::BaseMessageContext< DataT, InputRangeT, ContextT >

Base message context type which shall be a direct or indirect public base class of its template parameterContextT.

• class stm::tools::BaseMessage< ContextT >

Abstract base class of message types for scanning from its byte_iterator_range base class object.

• class stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >

Binary message context type.

• class stm::tools::BinMessageContext< DataT, InputRangeT, ContextT >::GapCharacterization of the gap, i.e.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 498: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.4 ctaids.cpp File Reference 497

• class stm::tools::BinMessage< ContextT >

Binary message scanning from a stm::byte_iterator_range.

13.4 ctaids.cpp File Reference

13.4.1 Detailed Description

Implementation of ClearCase cleartool utilities.

Version:

1.04-r16

Date:

2007-01-19 15:07:08 (demx18a6)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ program file contains the definitions of the declarations contained in the C++ header filesctaids.hpp and xctaids.hpp belonging to the SysToMath Tool Aids C++ Library stmtoolaids.

Definition in file ctaids.cpp.

#include <string.h>

#include <time.h>

#include <stm/toolaids/ctaids.hpp>

#include <unistd.h>

Include dependency graph for ctaids.cpp:

ctaids.cpp

string.h

time.h stm/toolaids/ctaids.hpp unistd.h

stm/toolaids/impl/xctaids.hpp

stddef.h

vector

list

exception stdexcept

stm/filesysaids.hpp

stm/divaids.hpp

stm/loggeraids.hpp

stm/toolaids/impl/toolaidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.h stdio.hctype.h

errno.hfstream sstream algorithmutility

memory iterator

string locale

map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h stm/match.h stm/impl/aidsconfig.hppstm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functional boost/range.hpp

stm/internal/config.h

stm/impl/loggerxaids.hpp

Namespaces

• namespace stm• namespace stm::tools

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 499: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.5 ctaids.hpp File Reference 498

Defines

• #define PATHLEN 1024

13.4.2 Define Documentation

13.4.2.1 #define PATHLEN 1024

Definition at line 83 of file ctaids.cpp.

Referenced by stm::tools::Ct::getCurrentBranch(), stm::tools::Ct::getCurrentMasterReplica(),stm::tools::CtOperation::getCurrentReplica(), stm::tools::Ct::isCheckedOut(),stm::tools::CtOperation::isLabel(), and stm::tools::Ct::isVobElement().

13.5 ctaids.hpp File Reference

13.5.1 Detailed Description

Declarations for ClearCase cleartool aids.

Version:

1.04-r8

Date:

2006-12-08 23:20:47 (tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ header file contains declarations of classes for ClearCase cleartool aids. They are implementedin the C++ inline file xctaids.hpp and the C++ program file ctaids.cpp belonging to the SysToMath ToolAids C++ Library stmtoolaids.

Definition in file ctaids.hpp.

#include <stm/toolaids/impl/xctaids.hpp>

Include dependency graph for ctaids.hpp:

ctaids.hpp

stm/toolaids/impl/xctaids.hpp

stddef.h

vector

list

exception stdexcept

stm/filesysaids.hpp

stm/divaids.hpp

stm/loggeraids.hpp

stm/toolaids/impl/toolaidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.h stdio.hstring.h ctype.h

errno.hfstream sstream algorithmutility

memory iterator

string locale

map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h stm/match.h stm/impl/aidsconfig.hppstm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functional boost/range.hpp boost/integer.hppboost/integer_traits.hpp boost/integer/static_log2.hpp

stm/internal/config.h

stm/impl/loggerxaids.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 500: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.6 debugaids.cpp File Reference 499

This graph shows which files directly or indirectly include this file:

ctaids.hpp

toolaids.hpp ctaids.cpp

Namespaces

• namespace stm• namespace stm::tools

Classes

• class stm::tools::CtMain ClearCase cleartool aids class.

• struct stm::tools::Ct::ModeCt action modes.

• class stm::tools::Ct::ArgListClass to hold multiple arguments for a command.

• class stm::tools::CtOperationClearCase cleartool operation class.

• class stm::tools::CtExceptionsClearCase cleartool exceptions class.

13.6 debugaids.cpp File Reference

13.6.1 Detailed Description

Implementation of the debugging support facilities.

Version:

1.07-r46

Date:

2007-09-01 15:25:24 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 501: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.7 debugaids.hpp File Reference 500

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ program file contains the definitions of the declarations contained in the C++ header files de-bugaids.hpp and debugxaids.hpp belonging to the SysToMath Aids C++ Library stmaids.

Definition in file debugaids.cpp.

#include <stm/debugaids.hpp>

#include <syslog.h>

Include dependency graph for debugaids.cpp:

debugaids.cpp

stm/debugaids.hpp syslog.h

stm/impl/debugxaids.hpp

stddef.h stdio.h ios iostream sstream fstream exception string stm/system.h stm/impl/aidsconfig.hpp

stm/internal/config.h

Namespaces

• namespace stm• namespace stm::local

Functions

• void stm::initSyslog (bool perror=false, const std::string &prog=std::string())Initialize syslog().

• void stm::syslog (const std::string &message, unsigned int flags=SyslogInfo)Output message to the system log according to flags.

Variables

• static bool stm::local::syslogPerror• static std::string stm::local::syslogProg

13.7 debugaids.hpp File Reference

13.7.1 Detailed Description

Definition of debugging support macros and functions.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 502: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.7 debugaids.hpp File Reference 501

Version:

1.09-r320

Date:

2007-11-15 18:15:15 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ header file contains debugging support facilities. They are implemented in the C++ inline filedebugxaids.hpp and the C++ program file debugaids.cpp belonging to the SysToMath Aids C++ Librarystmaids.

Definition in file debugaids.hpp.

#include <stm/impl/debugxaids.hpp>

Include dependency graph for debugaids.hpp:

debugaids.hpp

stm/impl/debugxaids.hpp

stddef.h stdio.h ios iostream sstream fstream exception string stm/system.h stm/impl/aidsconfig.hpp

stm/internal/config.h

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 503: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.7 debugaids.hpp File Reference 502

This graph shows which files directly or indirectly include this file:

debugaids.hpp

aids.hpp

divxaids.hpp

filesysxaids.hpp

smartptrtest.cpp

debugaids.cpp

sudoku.cpp

divaids.hpp

xbinmsg.hpp

xdspmsg.hpp xlvdspacket.hppxmcbspmsg.hppxprintkbinmsg.hpp

xctaids.hpp

loggerxaids.hpp smartptrxaids.hppxmsgtimestamp.hpp divaids.cpp divaidstest.cpp gencrctest.cpp

filesysaids.hpp

filesysaids.cpp filesystest.cpp

binmsg.hpp

toolaids.hpp

dspmsg.hpp

dspmsg.cpp

lvdspacket.hppmcbspmsg.hppprintkbinmsg.hpp

ctaids.hpp

ctaids.cpp

loggeraids.hpp smartptraids.hppmsgtimestamp.hpp

Namespaces

• namespace stm

Defines

• #define StmDebugAidsErrmsg(msg) StmDebugAidsErrmsgImpl_ (msg)Return the error message msg as std::string.

• #define StmDebugAidsVerify(cond) StmDebugAidsVerifyImpl_ (cond)Verify that the boolean condition cond is true.

Enumerations

• enum stm::SyslogFlags {

stm::SyslogNoLog = 0x00000000,

stm::SyslogInfo = 0x00000001,

stm::LogInfo = 0x00000001,

stm::SyslogWarning = 0x00000002,

stm::LogWarning = 0x00000002,

stm::SyslogError = 0x00000003,

stm::LogError = 0x00000003,

stm::SyslogLevelMask = 0x00000003,

stm::LogLevelMask = 0x00000003,

stm::SyslogPerror = 0x00010000,

stm::LogPerror = 0x00010000,

stm::SyslogNoPerror = 0x00020000,

stm::LogNoPerror = 0x00020000 }

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 504: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.8 debugxaids.hpp File Reference 503

Syslog flags.

Functions

• void stm::initSyslog (bool perror=false, const std::string &prog=std::string())Initialize syslog().

• void stm::syslog (const std::string &message, unsigned int flags=SyslogInfo)Output message to the system log according to flags.

13.8 debugxaids.hpp File Reference

13.8.1 Detailed Description

Implementation of the debugging support facilities.

Version:

1.04-r33

Date:

2007-06-13 00:13:44 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ inline file contains macros and declarations implementing the debugging support facilities. Theyare defined in the C++ header file debugaids.hpp belonging to the SysToMath Aids C++ Library stmaids.

Definition in file debugxaids.hpp.

#include <stddef.h>

#include <stdio.h>

#include <ios>

#include <iostream>

#include <sstream>

#include <fstream>

#include <exception>

#include <string>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 505: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.8 debugxaids.hpp File Reference 504

#include <stm/system.h>

#include <stm/impl/aidsconfig.hpp>

Include dependency graph for debugxaids.hpp:

debugxaids.hpp

stddef.h stdio.h ios iostream sstream fstream exception string stm/system.h stm/impl/aidsconfig.hpp

stm/internal/config.h

This graph shows which files directly or indirectly include this file:

debugxaids.hpp

debugaids.hpp

aids.hpp

divxaids.hpp

filesysxaids.hpp

smartptrtest.cpp

debugaids.cpp

sudoku.cpp

divaids.hpp

xbinmsg.hpp

xdspmsg.hpp xlvdspacket.hppxmcbspmsg.hppxprintkbinmsg.hpp

xctaids.hpp

loggerxaids.hpp smartptrxaids.hppxmsgtimestamp.hpp divaids.cpp divaidstest.cpp gencrctest.cpp

filesysaids.hpp

filesysaids.cpp filesystest.cpp

binmsg.hpp

toolaids.hpp

dspmsg.hpp

dspmsg.cpp

lvdspacket.hppmcbspmsg.hppprintkbinmsg.hpp

ctaids.hpp

ctaids.cpp

loggeraids.hpp smartptraids.hppmsgtimestamp.hpp

Namespaces

• namespace stm• namespace stm::local

Classes

• class stm::local::errmsgImplementation class for macro StmDebugAidsErrmsg.

Defines

• #define StmDebugAidsErrmsgImpl_(msg) std::string (stm::local::errmsg (__FILE__, __LINE__)<< msg)

Implementation macro for StmDebugAidsErrmsg.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 506: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.9 divaids.cpp File Reference 505

• #define StmDebugAidsVerifyImpl_(cond)Implementation macro for StmDebugAidsVerify.

• #define STM_DEBUGXAIDS_HPP

13.8.2 Define Documentation

13.8.2.1 #define STM_DEBUGXAIDS_HPP

Definition at line 233 of file debugxaids.hpp.

13.9 divaids.cpp File Reference

13.9.1 Detailed Description

Implementation of general utilities.

Version:

1.04-r25

Date:

2007-04-06 13:32:39 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ program file contains the definitions of the declarations contained in the C++ header files di-vaids.hpp and divxaids.hpp belonging to the SysToMath Aids C++ Library stmaids.

Definition in file divaids.cpp.

#include <stm/divaids.hpp>

Include dependency graph for divaids.cpp:

divaids.cpp

stm/divaids.hpp

stm/impl/divxaids.hpp

stddef.h

limits.h setjmp.h errno.h locale iomanip

fstream sstream

utility algorithm functional

exception

stdexcept

string

set boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/type_traits.hpp boost/cstdint.hpp boost/mpl/bool.hpp stm/basetype.h

stm/system.h

stm/match.h

stm/impl/aidsconfig.hpp

stm/debugaids.hpp

stm/internal/config.h

stm/impl/debugxaids.hpp

stdio.h ios iostream

Namespaces

• namespace stm• namespace stm::rectrl

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 507: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.10 divaids.hpp File Reference 506

Functions

• StmReCtrl stm::rectrl::initialize ()stm::rectrl initialization.

13.10 divaids.hpp File Reference

13.10.1 Detailed Description

Declarations for diverse aids.

Version:

1.09-r320

Date:

2007-11-15 18:15:15 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ header file contains declarations of functions, function templates, classes and class templatesfor diverse aids. They are implemented in the C++ inline file divxaids.hpp and the C++ program filedivaids.cpp belonging to the SysToMath Aids C++ Library stmaids.

Definition in file divaids.hpp.

#include <stm/impl/divxaids.hpp>

Include dependency graph for divaids.hpp:

divaids.hpp

stm/impl/divxaids.hpp

stddef.h

limits.h setjmp.h errno.h locale iomanip

fstream sstream

utility algorithm functional

exception

stdexcept

string

set boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/type_traits.hpp boost/cstdint.hpp boost/mpl/bool.hpp stm/basetype.h

stm/system.h

stm/match.h

stm/impl/aidsconfig.hpp

stm/debugaids.hpp

stm/internal/config.h

stm/impl/debugxaids.hpp

stdio.h ios iostream

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 508: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.10 divaids.hpp File Reference 507

This graph shows which files directly or indirectly include this file:

divaids.hpp

aids.hpp

filesysxaids.hpp

xbinmsg.hpp

xdspmsg.hpp xlvdspacket.hppxmcbspmsg.hpp xprintkbinmsg.hpp

xctaids.hppsmartptrtest.cpp

loggerxaids.hppsmartptrxaids.hpp xmsgtimestamp.hpp divaids.cpp divaidstest.cpp gencrctest.cpp

sudoku.cpp

filesysaids.hpp

filesysaids.cppfilesystest.cpp

binmsg.hpp

toolaids.hpp

dspmsg.hpp

dspmsg.cpp

lvdspacket.hppmcbspmsg.hpp printkbinmsg.hpp

ctaids.hpp

ctaids.cpp

loggeraids.hppsmartptraids.hpp msgtimestamp.hpp

Namespaces

• namespace stm• namespace stm::buffer• namespace stm::rectrl

Classes

• class stm::byte_iterator_rangeByte iterator range class.

• class stm::integral_range< IntegralT, minVal, maxVal >

Class template representing a range of integral objects of type IntegralT constrained by the minimal andmaximal values minVal and maxVal.

• class stm::integral_set< IntegralRangeT, RangeSetT >

Class template integral_set is a set container representing a set of integral type objects constrained byminimal and maximal values wrapping a set of integral ranges.

• class stm::conditionCondition class.

• class stm::system_conditionSystem condition class.

• class stm::scoped_lockScoped lock class.

• class stm::system_scoped_lockSystem scoped lock class.

• struct stm::fmtflagsBase class of class template stm::hexfmt specifying format flags.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 509: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.10 divaids.hpp File Reference 508

• class stm::hexfmt< UnsignedT, DefaultFlags >

Class template allowing to format the unsigned number held as hexadecimal string.

• class stm::hexfmt< ElemT ∗, DefaultFlags >

Class template partial specialization allowing to format the pointer held as hexadecimal string.

• class stm::fixedfmt< FloatT >

Class template allowing to format the floating point number of type FloatT held on an output stream in fixedpoint notation using a specified precision.

• struct stm::space< CharT >

Unary predicate functor template determining if a CharT object is a white space as defined by the currentlocale.

• struct stm::nospace< CharT >

Unary predicate functor template determining if a CharT object is no white space as defined by the currentlocale.

Common unsigned and signed integer types

• typedef boost::uint8_t stm::byte• typedef boost::uint16_t stm::word• typedef boost::uint32_t stm::dword• typedef boost::uint64_t stm::qword• typedef boost::int8_t stm::int8• typedef boost::int16_t stm::int16• typedef boost::int32_t stm::int32• typedef boost::int64_t stm::int64• typedef boost::uint_t< sizeof(void ∗)∗CHAR_BIT >::leas stm::addrword )

Unsigned integer type capable of holding an address.

Endianness

• typedef boost::mpl::bool_< __BYTE_ORDER==__LITTLE_ENDIAN > stm::littleendianType being boost::mpl::true_ or boost::mpl::false_ depending on the host endianness.

• typedef boost::mpl::bool_< __BYTE_ORDER==__BIG_ENDIAN > stm::bigendianType being boost::mpl::true_ or boost::mpl::false_ depending on the host endianness.

• bool stm::hostlittleendian ()Returns true, if the host byte order is little-endian.

• bool stm::hostbigendian ()Returns true, if the host byte order is big-endian.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 510: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.10 divaids.hpp File Reference 509

Predefined StmReCtrl Objects

The predefined StmReCtrl objects stm::rectrl::identity and stm::rectrl::tolower provide control and errorhandling for regular expressions (see Abstract Data Type StmRe).

• StmReCtrl stm::rectrl::identity = initialize ()• StmReCtrl stm::rectrl::tolower = NULL

Control and error handling of non-case-sensitive regular expressions.

Defines

• #define StmRectrlTry(envbuf) StmRectrlTryImpl_ (envbuf)std::logic_error exception based error control for normal and non-case-sensitive regular expressions con-trolled by the predefined StmReCtrl Objects stm::rectrl::identity and stm::rectrl::tolower.

Functions

• template<typename T>

T & stm::buffer::get (byte ∗ptr)Returns a reference to the T object beginning at byte address ptr.

• template<typename T>

const T & stm::buffer::get (const byte ∗ptr)Returns a constant reference to the T object beginning at byte address ptr.

• template<typename T>

T & stm::buffer::fetch (T &obj, const byte ∗ptr)Creates obj T as being a copy of the T object beginning at byte address ptr and returns a reference to it.

• template<typename T>

T & stm::buffer::swap (T &obj, typename boost::enable_if< boost::is_pod< T >, const byte ∗>::type ptr)

Creates obj T as being a byte swapped copy of the T object beginning at byte address ptr and returns areference to it.

• template<typename T>

T & stm::buffer::endianConvertIf (T &obj, typename boost::enable_if< boost::is_pod< T >, constbyte ∗ >::type ptr, bool convert)

Creates obj T as being an endian converted or unconverted copy of the T object beginning at byte addressptr and returns a reference to it.

• template<typename T>

T & stm::buffer::endianConvertIf (T &obj, typename boost::enable_if< boost::is_pod< T >, constbyte ∗ >::type ptr, boost::mpl::false_)

Creates obj T as being an unconverted copy of the T object beginning at byte address ptr and returns areference to it.

• template<typename T>

T & stm::buffer::endianConvertIf (T &obj, typename boost::enable_if< boost::is_pod< T >, constbyte ∗ >::type ptr, boost::mpl::true_)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 511: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.10 divaids.hpp File Reference 510

Creates obj T as being an endian converted copy of the T object beginning at byte address ptr and returns areference to it.

• template<typename T>

T & stm::buffer::networkByteOrderConvert (T &obj, typename boost::enable_if< boost::is_pod< T>, const byte ∗ >::type ptr)

Creates obj T as being an endian converted or unconverted copy of the T object beginning at byte addressptr and returns a reference to it.

• template<typename T>

T stm::buffer::swapped (typename boost::enable_if< boost::is_pod< T >, T >::type value)Returns an object of type T being a byte swapped copy of the T object value.

• template<typename T>

T stm::buffer::endianConvertedIf (typename boost::enable_if< boost::is_pod< T >, T >::typevalue, bool convert)

Returns the endian converted or unconverted value of an object of type T.

• template<typename T>

T stm::buffer::endianConvertedIf (typename boost::enable_if< boost::is_pod< T >, T >::typevalue, boost::mpl::false_)

Returns the unconverted value of an object of type T.

• template<typename T>

T stm::buffer::endianConvertedIf (typename boost::enable_if< boost::is_pod< T >, T >::typevalue, boost::mpl::true_)

Returns the endian converted value of an object of type T.

• template<typename T>

T stm::buffer::networkByteOrderConverted (typename boost::enable_if< boost::is_pod< T >, T>::type value)

Returns the endian converted or unconverted value of an object of type T.

• template<typename T>

size_t stm::buffer::pad (typename boost::enable_if< has_pow2size< T >, size_t >::type offset)Returns the least number aligned to T not being less than offset.

• template<typename T>

byte ∗ stm::buffer::put (byte ∗ptr, const T &value)Stores a T object at byte address ptr and returns the byte address of the T object following that T object.

• template<class IStreamT, typename IntegralT, IntegralT minVal, IntegralT maxVal>IStreamT & stm::operator>> (IStreamT &is, integral_range< IntegralT, minVal, maxVal >&range)

Extract the integral range formatted as single integral number or as expression "first-last" with integralnumbers first < last enclosed in parentheses from the input stream is and store it in the integral range.

• template<class OStreamT, typename IntegralT, IntegralT minVal, IntegralT maxVal>OStreamT & stm::operator<< (OStreamT &os, const integral_range< IntegralT, minVal, maxVal >&range)

Insert the integral range held by range into the output stream os formatted as single decimal numbers orexpression "first-last" with decimal numbers first < last.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 512: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.10 divaids.hpp File Reference 511

• template<class IStreamT, class IntegralRangeT, class RangeSetT>

IStreamT & stm::operator>> (IStreamT &is, integral_set< IntegralRangeT, RangeSetT > &set)Extract the integral ranges formatted as comma separated sequence of single integral numbers and/or ex-pressions "first-last" with integral numbers first < last enclosed in parentheses from the input stream is andstore them in the integral set.

• template<class OStreamT, class IntegralRangeT, class RangeSetT>

OStreamT & stm::operator<< (OStreamT &os, const integral_set< IntegralRangeT, RangeSetT >&set)

Insert the integral ranges held by the integral set into the output stream os formatted as comma separatedsequence of single decimal numbers and/or expressions "first-last" with decimal numbers first < last.

• template<class OStreamT, typename UnsignedT, dword DefaultFlags>OStreamT & stm::operator<< (OStreamT &os, const hexfmt< UnsignedT, DefaultFlags > &val)

Insert the value held by val into the output stream os as hexadecimal string formatted according to the flagsin effect.

• template<class OStreamT, typename ElemT, dword DefaultFlags>OStreamT & stm::operator<< (OStreamT &os, const hexfmt< ElemT ∗, DefaultFlags > &ptr)

Insert the value held by ptr into the output stream os as hexadecimal string according to the flags in effect.

• template<class OStreamT, typename FloatT>

OStreamT & stm::operator<< (OStreamT &os, const fixedfmt< FloatT > &val)Insert the value held by val into the output stream os in fixed point notation using the precision specified byval.

• template<typename ScalarT>

dword stm::nrOfSetBits (ScalarT value)Function template returning the number of set bits of a ScalarT value.

• template<class StringT>

StringT::size_type stm::clamped_offset (const StringT &str, typename StringT::size_type pos)Function template returning the offset pos of the string str clamped by its length.

• template<class StringT>

StringT::size_type stm::clamped_rest (const StringT &str, typename StringT::size_type pos)Function template returning the length of the string str beginning with offset pos clamped by the string’slength.

• template<class StringT>

StringT stm::trim_back (const StringT &str)Function template returning a copy of str.substr without trailing white space characters as defined by thecurrent locale.

• template<class StringT>

StringT stm::trim_back (const StringT &str, typename StringT::size_type pos)Function template returning a copy of str.substr (0, pos) without trailing white space characters as definedby the current locale.

• template<class StringT>

StringT::size_type stm::find_trim_back (const StringT &str)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 513: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.10 divaids.hpp File Reference 512

Function template returning trim_back (str).size ().

• template<class StringT>

StringT::size_type stm::find_trim_back (const StringT &str, typename StringT::size_type pos)Function template returning trim_back (str, pos).size ().

• template<class StringT>

StringT::size_type stm::find_token_end (const StringT &str, typename StringT::size_type pos=0)Function template returning the least index npos >= pos such that npos == str.length () or str [npos] iswhite space.

• template<class StringT>

StringT stm::trim_back (const StringT &str, const StringT &sepchars)Function template returning a copy of str without trailing characters from sepchars.

• template<class StringT>

StringT stm::trim_back (const StringT &str, const StringT &sepchars, typename StringT::size_typepos)

Function template returning a copy of str.substr (0, pos) without trailing characters from sepchars.

• template<class StringT>

StringT::size_type stm::find_trim_back (const StringT &str, const StringT &sepchars)Function template returning trim_back (str, sepchars).size ().

• template<class StringT>

StringT::size_type stm::find_trim_back (const StringT &str, const StringT &sepchars, typenameStringT::size_type pos)

Function template returning trim_back (str, sepchars, pos).size ().

• template<class StringT>

StringT::size_type stm::find_token_end (const StringT &str, const StringT &sepchars, typenameStringT::size_type pos=0)

Function template returning the least index npos >= pos with npos == str.length () or str [npos] is one ofthe characters of sepchars.

• template<class StringT>

StringT stm::trim_front (const StringT &str, typename StringT::size_type pos=0)Function template returning a copy of str.substr (pos) without leading white space characters as defined bythe current locale.

• template<class StringT>

StringT::size_type stm::find_trim_front (const StringT &str, typename StringT::size_type pos=0)Function template returning str.size () - trim_front (str, pos).size ().

• template<class StringT>

StringT stm::trim_front (const StringT &str, const StringT &sepchars, typename StringT::size_typepos=0)

Function template returning a copy of str.substr (pos) without leading characters from sepchars.

• template<class StringT>

StringT::size_type stm::find_trim_front (const StringT &str, const StringT &sepchars, typenameStringT::size_type pos=0)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 514: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.11 divaidstest.cpp File Reference 513

Function template returning str.size () - trim_front (str, sepchars, pos).size ().

• template<class StringT>

StringT stm::trim (const StringT &str)Function template returning a copy of str without leading and trailing white space characters as defined bythe current locale.

• template<class StringT>

StringT stm::trim (const StringT &str, const StringT &sepchars)Function template returning a copy of str without leading and trailing characters from sepchars.

13.11 divaidstest.cpp File Reference

13.11.1 Detailed Description

Implementation of a console program demostrating the usage and testing the implementation of the Sys-ToMath Aids C++ Library module DivAids.

Version:

1.10-r347

Date:

2008-01-03 19:42:43 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ program file contains the implementation of the console program divaidstest.

Definition in file divaidstest.cpp.

#include <iostream>

#include <stm/divaids.hpp>

Include dependency graph for divaidstest.cpp:

divaidstest.cpp

iostream

stm/divaids.hpp

stm/impl/divxaids.hpp

stddef.h

limits.hsetjmp.h errno.h locale iomanip

fstreamsstream

utility algorithm functional

exception

stdexcept

string

set boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/type_traits.hpp boost/cstdint.hpp boost/mpl/bool.hpp stm/basetype.h

stm/system.h

stm/match.h

stm/impl/aidsconfig.hpp

stm/debugaids.hpp

stm/internal/config.h

stm/impl/debugxaids.hpp

stdio.h ios

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 515: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.12 divxaids.hpp File Reference 514

Functions

• int main (int argc, char ∗argv[ ])

Variables

• const char ∗ Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath"• const char ∗ Version = "1.10-r347"

13.12 divxaids.hpp File Reference

13.12.1 Detailed Description

Implementation of diverse aids.

Version:

1.08-r53

Date:

2007-11-05 11:14:19 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ inline file contains inline definitions and declarations implementing diverse aids. They are de-clared in the C++ header file divaids.hpp belonging to the SysToMath Aids C++ Library stmaids.

Definition in file divxaids.hpp.

#include <stddef.h>

#include <limits.h>

#include <setjmp.h>

#include <errno.h>

#include <locale>

#include <iomanip>

#include <fstream>

#include <sstream>

#include <utility>

#include <algorithm>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 516: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.12 divxaids.hpp File Reference 515

#include <functional>

#include <exception>

#include <stdexcept>

#include <string>

#include <set>

#include <boost/range.hpp>

#include <boost/integer.hpp>

#include <boost/integer_traits.hpp>

#include <boost/integer/static_log2.hpp>

#include <boost/utility/enable_if.hpp>

#include <boost/type_traits.hpp>

#include <boost/cstdint.hpp>

#include <boost/mpl/bool.hpp>

#include <stm/basetype.h>

#include <stm/system.h>

#include <stm/match.h>

#include <stm/impl/aidsconfig.hpp>

#include <stm/debugaids.hpp>

Include dependency graph for divxaids.hpp:

divxaids.hpp

stddef.h

limits.h setjmp.h errno.h locale iomanip

fstream sstream

utility algorithm functional

exception

stdexcept

string

set boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/type_traits.hpp boost/cstdint.hpp boost/mpl/bool.hpp stm/basetype.h

stm/system.h

stm/match.h

stm/impl/aidsconfig.hpp

stm/debugaids.hpp

stm/internal/config.h

stm/impl/debugxaids.hpp

stdio.h ios iostream

This graph shows which files directly or indirectly include this file:

divxaids.hpp

divaids.hpp

aids.hpp

filesysxaids.hpp

xbinmsg.hpp

xdspmsg.hpp xlvdspacket.hppxmcbspmsg.hpp xprintkbinmsg.hpp

xctaids.hppsmartptrtest.cpp

loggerxaids.hppsmartptrxaids.hpp xmsgtimestamp.hpp divaids.cpp divaidstest.cpp gencrctest.cpp

sudoku.cpp

filesysaids.hpp

filesysaids.cppfilesystest.cpp

binmsg.hpp

toolaids.hpp

dspmsg.hpp

dspmsg.cpp

lvdspacket.hppmcbspmsg.hpp printkbinmsg.hpp

ctaids.hpp

ctaids.cpp

loggeraids.hppsmartptraids.hpp msgtimestamp.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 517: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.12 divxaids.hpp File Reference 516

Namespaces

• namespace stm• namespace stm::rectrl• namespace stm::local• namespace stm::buffer

Classes

• class stm::local::xIntegral_range< IntegralT, minVal, maxVal >

stm::integral_range implementation base class template.

• class stm::local::xIntegral_set< IntegralRangeT, RangeSetT >

stm::integral_set implementation base class template.

• class stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::integral_iterator• struct stm::local::xIntegral_set< IntegralRangeT, RangeSetT >::Env• class stm::local::xcondition

stm::condition implementation base class.

• class stm::local::xsystem_conditionstm::system_condition implementation base class.

• class stm::local::xscoped_lockstm::scoped_lock implementation base class.

• class stm::local::xsystem_scoped_lockstm::system_scoped_lock implementation base class.

• class stm::local::xhexfmt< UnsignedT >

stm::hexfmt implementation base class template.

• class stm::local::xfixedfmt< FloatT >

stm::fixedfmt implementation base class template.

• struct stm::has_pow2size< T >

Endianness

• bool stm::hostlittleendian ()Returns true, if the host byte order is little-endian.

• bool stm::hostbigendian ()Returns true, if the host byte order is big-endian.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 518: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.12 divxaids.hpp File Reference 517

Defines

• #define StmRectrlTryImpl_(envbuf)Implementation macro for StmRectrlTry.

• #define STM_DIVXAIDS_HPP

Functions

• StmReCtrl stm::rectrl::initialize ()stm::rectrl initialization.

• template<typename T>

T & stm::buffer::get (byte ∗ptr)Returns a reference to the T object beginning at byte address ptr.

• template<typename T>

const T & stm::buffer::get (const byte ∗ptr)Returns a constant reference to the T object beginning at byte address ptr.

• template<typename T>

T & stm::buffer::fetch (T &obj, const byte ∗ptr)Creates obj T as being a copy of the T object beginning at byte address ptr and returns a reference to it.

• template<typename T>

T & stm::buffer::swap (T &obj, typename boost::enable_if< boost::is_pod< T >, const byte ∗>::type ptr)

Creates obj T as being a byte swapped copy of the T object beginning at byte address ptr and returns areference to it.

• template<typename T>

T & stm::buffer::endianConvertIf (T &obj, typename boost::enable_if< boost::is_pod< T >, constbyte ∗ >::type ptr, bool convert)

Creates obj T as being an endian converted or unconverted copy of the T object beginning at byte addressptr and returns a reference to it.

• template<typename T>

T & stm::buffer::endianConvertIf (T &obj, typename boost::enable_if< boost::is_pod< T >, constbyte ∗ >::type ptr, boost::mpl::false_)

Creates obj T as being an unconverted copy of the T object beginning at byte address ptr and returns areference to it.

• template<typename T>

T & stm::buffer::endianConvertIf (T &obj, typename boost::enable_if< boost::is_pod< T >, constbyte ∗ >::type ptr, boost::mpl::true_)

Creates obj T as being an endian converted copy of the T object beginning at byte address ptr and returns areference to it.

• template<typename T>

T & stm::buffer::networkByteOrderConvert (T &obj, typename boost::enable_if< boost::is_pod< T>, const byte ∗ >::type ptr)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 519: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.12 divxaids.hpp File Reference 518

Creates obj T as being an endian converted or unconverted copy of the T object beginning at byte addressptr and returns a reference to it.

• template<typename T>

T stm::buffer::swapped (typename boost::enable_if< boost::is_pod< T >, T >::type value)Returns an object of type T being a byte swapped copy of the T object value.

• template<typename T>

T stm::buffer::endianConvertedIf (typename boost::enable_if< boost::is_pod< T >, T >::typevalue, bool convert)

Returns the endian converted or unconverted value of an object of type T.

• template<typename T>

T stm::buffer::endianConvertedIf (typename boost::enable_if< boost::is_pod< T >, T >::typevalue, boost::mpl::false_)

Returns the unconverted value of an object of type T.

• template<typename T>

T stm::buffer::endianConvertedIf (typename boost::enable_if< boost::is_pod< T >, T >::typevalue, boost::mpl::true_)

Returns the endian converted value of an object of type T.

• template<typename T>

T stm::buffer::networkByteOrderConverted (typename boost::enable_if< boost::is_pod< T >, T>::type value)

Returns the endian converted or unconverted value of an object of type T.

• template<typename T>

size_t stm::buffer::pad (typename boost::enable_if< has_pow2size< T >, size_t >::type offset)Returns the least number aligned to T not being less than offset.

• template<typename T>

byte ∗ stm::buffer::put (byte ∗ptr, const T &value)Stores a T object at byte address ptr and returns the byte address of the T object following that T object.

• template<class IStreamT, typename IntegralT, IntegralT minVal, IntegralT maxVal>IStreamT & stm::operator>> (IStreamT &is, integral_range< IntegralT, minVal, maxVal >&range)

Extract the integral range formatted as single integral number or as expression "first-last" with integralnumbers first < last enclosed in parentheses from the input stream is and store it in the integral range.

• template<class OStreamT, typename IntegralT, IntegralT minVal, IntegralT maxVal>OStreamT & stm::operator<< (OStreamT &os, const integral_range< IntegralT, minVal, maxVal >&range)

Insert the integral range held by range into the output stream os formatted as single decimal numbers orexpression "first-last" with decimal numbers first < last.

• template<class IStreamT, class IntegralRangeT, class RangeSetT>

IStreamT & stm::operator>> (IStreamT &is, integral_set< IntegralRangeT, RangeSetT > &set)Extract the integral ranges formatted as comma separated sequence of single integral numbers and/or ex-pressions "first-last" with integral numbers first < last enclosed in parentheses from the input stream is andstore them in the integral set.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 520: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.12 divxaids.hpp File Reference 519

• template<class OStreamT, class IntegralRangeT, class RangeSetT>

OStreamT & stm::operator<< (OStreamT &os, const integral_set< IntegralRangeT, RangeSetT >&set)

Insert the integral ranges held by the integral set into the output stream os formatted as comma separatedsequence of single decimal numbers and/or expressions "first-last" with decimal numbers first < last.

• template<class OStreamT, typename UnsignedT, dword DefaultFlags>OStreamT & stm::operator<< (OStreamT &os, const hexfmt< UnsignedT, DefaultFlags > &val)

Insert the value held by val into the output stream os as hexadecimal string formatted according to the flagsin effect.

• template<class OStreamT, typename ElemT, dword DefaultFlags>OStreamT & stm::operator<< (OStreamT &os, const hexfmt< ElemT ∗, DefaultFlags > &ptr)

Insert the value held by ptr into the output stream os as hexadecimal string according to the flags in effect.

• template<class OStreamT, typename FloatT>

OStreamT & stm::operator<< (OStreamT &os, const fixedfmt< FloatT > &val)Insert the value held by val into the output stream os in fixed point notation using the precision specified byval.

• template<typename ScalarT>

dword stm::nrOfSetBits (ScalarT value)Function template returning the number of set bits of a ScalarT value.

• template<class StringT>

StringT::size_type stm::clamped_offset (const StringT &str, typename StringT::size_type pos)Function template returning the offset pos of the string str clamped by its length.

• template<class StringT>

StringT::size_type stm::clamped_rest (const StringT &str, typename StringT::size_type pos)Function template returning the length of the string str beginning with offset pos clamped by the string’slength.

• template<class StringT>

StringT stm::trim_back (const StringT &str)Function template returning a copy of str.substr without trailing white space characters as defined by thecurrent locale.

• template<class StringT>

StringT stm::trim_back (const StringT &str, typename StringT::size_type pos)Function template returning a copy of str.substr (0, pos) without trailing white space characters as definedby the current locale.

• template<class StringT>

StringT::size_type stm::find_trim_back (const StringT &str)Function template returning trim_back (str).size ().

• template<class StringT>

StringT::size_type stm::find_trim_back (const StringT &str, typename StringT::size_type pos)Function template returning trim_back (str, pos).size ().

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 521: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.12 divxaids.hpp File Reference 520

• template<class StringT>

StringT::size_type stm::find_token_end (const StringT &str, typename StringT::size_type pos=0)Function template returning the least index npos >= pos such that npos == str.length () or str [npos] iswhite space.

• template<class StringT>

StringT stm::trim_back (const StringT &str, const StringT &sepchars)Function template returning a copy of str without trailing characters from sepchars.

• template<class StringT>

StringT stm::trim_back (const StringT &str, const StringT &sepchars, typename StringT::size_typepos)

Function template returning a copy of str.substr (0, pos) without trailing characters from sepchars.

• template<class StringT>

StringT::size_type stm::find_trim_back (const StringT &str, const StringT &sepchars)Function template returning trim_back (str, sepchars).size ().

• template<class StringT>

StringT::size_type stm::find_trim_back (const StringT &str, const StringT &sepchars, typenameStringT::size_type pos)

Function template returning trim_back (str, sepchars, pos).size ().

• template<class StringT>

StringT::size_type stm::find_token_end (const StringT &str, const StringT &sepchars, typenameStringT::size_type pos=0)

Function template returning the least index npos >= pos with npos == str.length () or str [npos] is one ofthe characters of sepchars.

• template<class StringT>

StringT stm::trim_front (const StringT &str, typename StringT::size_type pos=0)Function template returning a copy of str.substr (pos) without leading white space characters as defined bythe current locale.

• template<class StringT>

StringT::size_type stm::find_trim_front (const StringT &str, typename StringT::size_type pos=0)Function template returning str.size () - trim_front (str, pos).size ().

• template<class StringT>

StringT stm::trim_front (const StringT &str, const StringT &sepchars, typename StringT::size_typepos=0)

Function template returning a copy of str.substr (pos) without leading characters from sepchars.

• template<class StringT>

StringT::size_type stm::find_trim_front (const StringT &str, const StringT &sepchars, typenameStringT::size_type pos=0)

Function template returning str.size () - trim_front (str, sepchars, pos).size ().

• template<class StringT>

StringT stm::trim (const StringT &str)Function template returning a copy of str without leading and trailing white space characters as defined bythe current locale.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 522: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.13 dspmsg.cpp File Reference 521

• template<class StringT>

StringT stm::trim (const StringT &str, const StringT &sepchars)Function template returning a copy of str without leading and trailing characters from sepchars.

13.12.2 Define Documentation

13.12.2.1 #define STM_DIVXAIDS_HPP

Definition at line 3624 of file divxaids.hpp.

13.13 dspmsg.cpp File Reference

13.13.1 Detailed Description

Implementation of the DSP message model.

Version:

1.04-r4

Date:

2006-11-18 09:01:33 (tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ program file contains the definitions of the declarations contained in the C++ header filesdspmsg.hpp and xdspmsg.hpp belonging to the SysToMath Tool Aids C++ Library stmtoolaids.

Definition in file dspmsg.cpp.

#include <stm/toolaids/dspmsg.hpp>

Include dependency graph for dspmsg.cpp:

dspmsg.cpp

stm/toolaids/dspmsg.hpp

stm/toolaids/impl/xdspmsg.hpp

stddef.h exception

stm/filesysaids.hpp

stm/divaids.hpp

stm/toolaids/binmsg.hpp

stm/toolaids/impl/toolaidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.h stdio.h string.h ctype.h

errno.hfstream sstream algorithmstdexcept utility

memory iterator

string locale

list map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h stm/match.h stm/impl/aidsconfig.hppstm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functional boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp

stm/internal/config.h

stm/toolaids/impl/xbinmsg.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 523: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.14 dspmsg.hpp File Reference 522

Namespaces

• namespace stm• namespace stm::tools• namespace stm::tools::local

13.14 dspmsg.hpp File Reference

13.14.1 Detailed Description

Declarations for the DSP message model.

Version:

1.04-r5

Date:

2006-11-30 12:41:45 (demx18a6)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ header file contains declarations of a class template providing a DSP message model. They areimplemented in the C++ inline file xdspmsg.hpp and in the C++ program file dspmsg.cpp belonging to theSysToMath Tool Aids C++ Library stmtoolaids.

Definition in file dspmsg.hpp.

#include <stm/toolaids/impl/xdspmsg.hpp>

Include dependency graph for dspmsg.hpp:

dspmsg.hpp

stm/toolaids/impl/xdspmsg.hpp

stddef.h exception

stm/filesysaids.hpp

stm/divaids.hpp

stm/toolaids/binmsg.hpp

stm/toolaids/impl/toolaidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.h stdio.h string.h ctype.h

errno.h fstream sstream algorithmstdexcept utility

memory iterator

string locale

list map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h stm/match.h stm/impl/aidsconfig.hppstm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functional boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp

stm/internal/config.h

stm/toolaids/impl/xbinmsg.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 524: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.15 filesysaids.cpp File Reference 523

This graph shows which files directly or indirectly include this file:

dspmsg.hpp

toolaids.hpp dspmsg.cpp

Namespaces

• namespace stm• namespace stm::tools

Classes

• class stm::tools::DspMessage< ContextT >

DSP message contained in a binary message.

• class stm::tools::DspMessage< ContextT >::TraceHeaderType representing a trace header.

13.15 filesysaids.cpp File Reference

13.15.1 Detailed Description

Implementation of file system related utilities.

Version:

1.04-r7

Date:

2006-12-07 19:12:27 (demx18a6)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ program file contains the definitions of the declarations contained in the C++ header files filesy-saids.hpp and filesysxaids.hpp belonging to the SysToMath Aids C++ Library stmaids.

Definition in file filesysaids.cpp.

#include <stm/filesysaids.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 525: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.16 filesysaids.hpp File Reference 524

Include dependency graph for filesysaids.cpp:

filesysaids.cpp

stm/filesysaids.hpp

stm/impl/filesysxaids.hpp

assert.h

stddef.hstdio.h

string.h ctype.h

errno.h

fstream sstream

algorithm

exception

stdexcept utility

memory iterator

string

locale

list map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h

stm/match.h

stm/divaids.hpp

stm/impl/aidsconfig.hpp

stm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functionalboost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/cstdint.hpp boost/mpl/bool.hpp stm/basetype.h

stm/internal/config.h

stm/impl/debugxaids.hpp

Namespaces

• namespace stm• namespace stm::local

Defines

• #define PsepChars "/"• #define PsepRe "/"• #define Esc "\\"• #define EscRe "\\"

Functions

• int stm::makedir (const boost::filesystem::path &path)Make directory path.

13.16 filesysaids.hpp File Reference

13.16.1 Detailed Description

Declarations for file system aids.

Version:

1.09-r320

Date:

2007-11-15 18:15:16 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 526: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.16 filesysaids.hpp File Reference 525

This C++ header file contains declarations of functions, function templates, classes and class templates forfile system aids. They are implemented in the C++ inline file filesysxaids.hpp and the C++ program filefilesysaids.cpp belonging to the SysToMath Aids C++ Library stmaids.

Definition in file filesysaids.hpp.

#include <stm/impl/filesysxaids.hpp>

Include dependency graph for filesysaids.hpp:

filesysaids.hpp

stm/impl/filesysxaids.hpp

assert.h

stddef.hstdio.h

string.h ctype.h

errno.h

fstream sstream

algorithm

exception

stdexcept utility

memory iterator

string

locale

list map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h

stm/match.h

stm/divaids.hpp

stm/impl/aidsconfig.hpp

stm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functionalboost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/cstdint.hpp boost/mpl/bool.hpp stm/basetype.h

stm/internal/config.h

stm/impl/debugxaids.hpp

ios

This graph shows which files directly or indirectly include this file:

filesysaids.hpp

aids.hpp xbinmsg.hpp

xdspmsg.hpp xlvdspacket.hppxmcbspmsg.hpp xprintkbinmsg.hpp

xctaids.hpp filesysaids.cpp filesystest.cpp smartptrtest.cpp

sudoku.cpp binmsg.hpp

toolaids.hpp

dspmsg.hpp

dspmsg.cpp

lvdspacket.hppmcbspmsg.hpp printkbinmsg.hpp

ctaids.hpp

ctaids.cpp

Namespaces

• namespace stm

Classes

• class stm::pstringClass to represent a std::string with a case unsensitive order relation on Windows systems else with a casesensitive order relation used for file system element naming.

• class stm::numpstringClass to represent a file system name with a case unsensitive order relation on Windows systems else with acase case sensitive order relation collating numerically correct.

• class stm::path< NameT >

Class template path refining boost::filesystem::path.

• class stm::path< NameT >::recursionenv

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 527: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.16 filesysaids.hpp File Reference 526

Type of or public base class of the global recursion environment used by the methods recurse() and tra-verse().

• class stm::path< NameT >::dirdata< DataT, EnvT >

Abstract base class template of directory data created for each directory the recusion handles.

• class stm::readablefile< NameT >

Class template representing a file named by its NameT subobject which is guaranteed to be accessible forreading and holding its size at the time of definition.

• class stm::inputrange< FileRangeT, bufSize >

Class template representing a range of input files.

• class stm::inputseq< InputFileT, bufSize >

• class stm::inputrange_iterator< BufRangeT, ContextT >

Input iterator class template reading successive byte ranges from the input range of the ContextT object forwhich it was constructed.

• class stm::filespecClass to specify file system element names.

• class stm::filespeclistList class of filespec objects.

• class stm::filefind< PathContainerT >

Container class representing existing file system elements defined by a file spec using pattern matchingbased file name expansion.

Typedefs

• typedef numpstring stm::numpath• typedef readablefile< numpstring > stm::sizedfile

For cenvenience sizedfile is a synonym for readablefile<numpstring>.

Functions

• int stm::makedir (const boost::filesystem::path &path)Make directory path.

• int stm::getkey ()Read one character from the console and return it as int on success, else return -1 and set the variable errnoaccording to the error.

• bool stm::isWin32Executable (const std::string &path)The function isWin32Executable returns true, if path (which may not exist) designates a WIN32 executablefile (case unsensitively the extension ’.exe’, ’.dll’, ’.msi’ or ’.com’).

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 528: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.17 filesystest.cpp File Reference 527

• template<class SequenceT>

SequenceT & stm::brace_expand (SequenceT &result, const std::string &str, bool allowCom-maSep=false)

The function template brace_expand appends the maybe brace expanded words of str to the sequence resultand returns result.

• bool stm::designateSame (const pstring &p1, const pstring &p2)Return true, if the pstring object p1 designates the same file system element than that p2 designates.

• bool stm::operator< (const pstring &p1, const pstring &p2)Order relation for pstring objects.

• bool stm::operator== (const pstring &p1, const pstring &p2)Equality relation for pstring objects.

• bool stm::operator< (const numpstring &p1, const numpstring &p2)Order relation for numpstring objects.

• bool stm::operator== (const numpstring &p1, const numpstring &p2)Equality relation for numpstring objects.

• template<class NameT>

void stm::swap (readablefile< NameT > &rf1, readablefile< NameT > &rf2)Swaps the readablefile objects rf1 and rf2.

• template<class BufRangeT, class ContextT>

bool stm::operator== (const inputrange_iterator< BufRangeT, ContextT > &x, const inputrange_-iterator< BufRangeT, ContextT > &y)

Equality operator.

• template<class BufRangeT, class ContextT>

bool stm::operator!= (const inputrange_iterator< BufRangeT, ContextT > &x, const inputrange_-iterator< BufRangeT, ContextT > &y)

Inequality operator.

13.17 filesystest.cpp File Reference

13.17.1 Detailed Description

Implementation of a console program demostrating the usage and testing the implementation of the Sys-ToMath Aids C++ Library module FilesysAids.

Version:

1.10-r347

Date:

2008-01-03 19:42:43 (Tom)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 529: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.18 filesysxaids.hpp File Reference 528

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ program file contains the implementation of the console program filesystest.

Definition in file filesystest.cpp.

#include <string>

#include <iostream>

#include <exception>

#include <stdexcept>

#include <stm/filesysaids.hpp>

#include <stm/loggeraids.hpp>

#include <stm/getopts.h>

Include dependency graph for filesystest.cpp:

filesystest.cpp

string iostreamexception

stdexcept

stm/filesysaids.hpp stm/loggeraids.hpp stm/getopts.h

stm/impl/filesysxaids.hpp

assert.h

stddef.hstdio.h

string.h ctype.h

errno.h

fstream sstream

algorithmutility

memory iterator

locale

list map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hppboost/bind.hpp

stm/system.h

stm/match.h

stm/divaids.hpp

stm/impl/aidsconfig.hpp

stm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functional boost/range.hpp

stm/internal/config.h

stm/impl/debugxaids.hpp

stm/impl/loggerxaids.hpp

boost/mpl/if.hpp boost/mpl/int.hpp boost/mpl/void.hpp

Functions

• int main (int argc, char ∗argv[ ])

Variables

• const char ∗ Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath"• const char ∗ Version = "1.10-r347"• static const char ∗ man [ ]

Man page.

13.18 filesysxaids.hpp File Reference

13.18.1 Detailed Description

Implementation of file system aids.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 530: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.18 filesysxaids.hpp File Reference 529

Version:

1.08-r53

Date:

2007-11-05 11:14:20 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ inline file contains inline definitions and declarations implementing file system aids. They aredeclared in the C++ header file filesysaids.hpp belonging to the SysToMath Aids C++ Library stmaids.

Definition in file filesysxaids.hpp.

#include <assert.h>

#include <stddef.h>

#include <stdio.h>

#include <string.h>

#include <ctype.h>

#include <errno.h>

#include <fstream>

#include <sstream>

#include <algorithm>

#include <exception>

#include <stdexcept>

#include <utility>

#include <memory>

#include <iterator>

#include <string>

#include <locale>

#include <list>

#include <map>

#include <set>

#include <boost/static_assert.hpp>

#include <boost/type_traits.hpp>

#include <boost/algorithm/string.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 531: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.18 filesysxaids.hpp File Reference 530

#include <boost/filesystem/operations.hpp>

#include <boost/filesystem/path.hpp>

#include <boost/filesystem/exception.hpp>

#include <boost/function.hpp>

#include <boost/bind.hpp>

#include <stm/system.h>

#include <stm/match.h>

#include <stm/divaids.hpp>

#include <stm/impl/aidsconfig.hpp>

#include <stm/debugaids.hpp>

Include dependency graph for filesysxaids.hpp:

filesysxaids.hpp

assert.h

stddef.hstdio.h

string.h ctype.h

errno.h

fstream sstream

algorithm

exception

stdexcept utility

memory iterator

string

locale

list map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h

stm/match.h

stm/divaids.hpp

stm/impl/aidsconfig.hpp

stm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanipfunctional boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/cstdint.hpp boost/mpl/bool.hpp stm/basetype.h

stm/internal/config.h

stm/impl/debugxaids.hpp

ios iostream

This graph shows which files directly or indirectly include this file:

filesysxaids.hpp

filesysaids.hpp

aids.hpp xbinmsg.hpp

xdspmsg.hpp xlvdspacket.hppxmcbspmsg.hpp xprintkbinmsg.hpp

xctaids.hpp filesysaids.cpp filesystest.cpp smartptrtest.cpp

sudoku.cpp binmsg.hpp

toolaids.hpp

dspmsg.hpp

dspmsg.cpp

lvdspacket.hppmcbspmsg.hpp printkbinmsg.hpp

ctaids.hpp

ctaids.cpp

Namespaces

• namespace stm• namespace stm::local

Classes

• class stm::local::xrecursionenv

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 532: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.18 filesysxaids.hpp File Reference 531

stm::path::recursionenv implementation base class.

• class stm::local::xdirdata< DataT, EnvT >

stm::path::dirdata implementation base class template.

• class stm::local::xreadablefilestm::readablefile implementation base class.

• class stm::local::xinputrange< FileRangeT, bufSize >

stm::inputrange implementation base class template.

• class stm::local::xinputrange_iterator< BufRangeT, ContextT >

stm::inputrange_iterator implementation base class template.

• class stm::local::xfilespecstm::filespec implementation base class.

• struct stm::local::xfilespec::EnvEnvironment for regular expression creation.

• struct stm::local::xfilespec::RollbackRollback data for regular expression creation.

• class stm::local::xfilespecliststm::filespeclist implementation base class.

• class stm::local::xfilefind< PathContainerT >

stm::filefind implementation base class template.

• class stm::local::BraceExpandBrace expansion implementation class.

• struct stm::local::BraceExpand::Data• struct stm::local::BraceExpand::Data::Tail

Defines

• #define STM_FILESYSXAIDS_HPP

Functions

• template<class StringT>

StringT stm::trim (const StringT &str)Function template returning a copy of str without leading and trailing white space characters as defined bythe current locale.

• bool stm::designateSame (const pstring &p1, const pstring &p2)Return true, if the pstring object p1 designates the same file system element than that p2 designates.

• bool stm::operator< (const pstring &p1, const pstring &p2)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 533: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.19 gencrc.hpp File Reference 532

Order relation for pstring objects.

• bool stm::operator== (const pstring &p1, const pstring &p2)Equality relation for pstring objects.

• bool stm::operator< (const numpstring &p1, const numpstring &p2)Order relation for numpstring objects.

• bool stm::operator== (const numpstring &p1, const numpstring &p2)Equality relation for numpstring objects.

• template<class NameT>

void stm::swap (readablefile< NameT > &rf1, readablefile< NameT > &rf2)Swaps the readablefile objects rf1 and rf2.

• template<class BufRangeT, class ContextT>

bool stm::operator== (const inputrange_iterator< BufRangeT, ContextT > &x, const inputrange_-iterator< BufRangeT, ContextT > &y)

Equality operator.

• template<class BufRangeT, class ContextT>

bool stm::operator!= (const inputrange_iterator< BufRangeT, ContextT > &x, const inputrange_-iterator< BufRangeT, ContextT > &y)

Inequality operator.

• int stm::getkey ()Read one character from the console and return it as int on success, else return -1 and set the variable errnoaccording to the error.

• bool stm::isWin32Executable (const std::string &path)The function isWin32Executable returns true, if path (which may not exist) designates a WIN32 executablefile (case unsensitively the extension ’.exe’, ’.dll’, ’.msi’ or ’.com’).

• template<class SequenceT>

SequenceT & stm::brace_expand (SequenceT &result, const std::string &str, bool allowCom-maSep=false)

The function template brace_expand appends the maybe brace expanded words of str to the sequence resultand returns result.

13.18.2 Define Documentation

13.18.2.1 #define STM_FILESYSXAIDS_HPP

Definition at line 2535 of file filesysxaids.hpp.

13.19 gencrc.hpp File Reference

13.19.1 Detailed Description

Declarations of generic CRC remainder polynomial generation.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 534: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.19 gencrc.hpp File Reference 533

Version:

1.09-r320

Date:

2007-11-15 18:15:16 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ header file contains the declaration of a class template for generic CRC generation. It is imple-mented in the C++ inline file genxcrc.hpp belonging to the SysToMath Aids C++ Library stmaids.

Definition in file gencrc.hpp.

#include <stm/impl/genxcrc.hpp>

Include dependency graph for gencrc.hpp:

gencrc.hpp

stm/impl/genxcrc.hpp

stddef.h limits.h stm/impl/aidsconfig.hpp

stm/internal/config.h

This graph shows which files directly or indirectly include this file:

gencrc.hpp

aids.hpp gencrctest.cpp

sudoku.cpp

Namespaces

• namespace stm

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 535: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.20 gencrctest.cpp File Reference 534

Classes

• class stm::crc< RemPolT >

Class template crc provides a means to generate cyclic redundancy check (CRC) remainder polynomials oftype RemPolT over buffers of byte-like objects.

13.20 gencrctest.cpp File Reference

13.20.1 Detailed Description

Implementation of a console program demostrating the usage and testing the functionality of the classtemplate stm::crc which provides a generic CRC generator.

Version:

1.10-r347

Date:

2008-01-03 19:42:43 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ program file contains the implementation of the console program gencrctest.

Definition in file gencrctest.cpp.

#include <string>

#include <iostream>

#include <boost/crc.hpp>

#include <stm/divaids.hpp>

#include <stm/gencrc.hpp>

Include dependency graph for gencrctest.cpp:

gencrctest.cpp

stringiostream

boost/crc.hppstm/divaids.hpp stm/gencrc.hpp

stm/impl/divxaids.hpp

stddef.h

limits.hsetjmp.h errno.h locale iomanip

fstream sstream

utility algorithm functional

exception

stdexcept setboost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/type_traits.hpp boost/cstdint.hpp boost/mpl/bool.hpp stm/basetype.h

stm/system.h

stm/match.h

stm/impl/aidsconfig.hpp

stm/debugaids.hpp

stm/internal/config.h

stm/impl/debugxaids.hpp

stdio.h ios

stm/impl/genxcrc.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 536: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.21 genxcrc.hpp File Reference 535

Functions

• int main (int argc, char ∗argv[ ])

Variables

• const char ∗ Copyright = "(C) 2003-2008 Tom Michaelis, SysToMath"• const char ∗ Version = "1.10-r347"

13.21 genxcrc.hpp File Reference

13.21.1 Detailed Description

Implementation of generic CRC remainder polynomial generation.

Version:

1.09-r320

Date:

2007-11-15 18:15:16 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ inline file contains the implementation of a class template for generic CRC generation. It isdeclared in the C++ header file gencrc.hpp belonging to the SysToMath Aids C++ Library stmaids.

Definition in file genxcrc.hpp.

#include <stddef.h>

#include <limits.h>

#include <stm/impl/aidsconfig.hpp>

Include dependency graph for genxcrc.hpp:

genxcrc.hpp

stddef.h limits.h stm/impl/aidsconfig.hpp

stm/internal/config.h

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 537: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.22 loggeraids.hpp File Reference 536

This graph shows which files directly or indirectly include this file:

genxcrc.hpp

gencrc.hpp

aids.hpp gencrctest.cpp

sudoku.cpp

Namespaces

• namespace stm• namespace stm::local

Classes

• class stm::local::xcrc< RemPolT >

stm::crc implementation base class template.

Defines

• #define STM_GENXCRC_HPP

13.21.2 Define Documentation

13.21.2.1 #define STM_GENXCRC_HPP

Definition at line 355 of file genxcrc.hpp.

13.22 loggeraids.hpp File Reference

13.22.1 Detailed Description

Declarations of formatted logging aids.

Version:

1.09-r320

Date:

2007-11-15 18:15:16 (Tom)

Author:

Tom Michaelis

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 538: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.22 loggeraids.hpp File Reference 537

SysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ header file contains the declarations of function and class templates for formatted logging aids.They are implemented in the C++ inline file loggerxaids.hpp belonging to the SysToMath Aids C++ Librarystmaids.

Definition in file loggeraids.hpp.

#include <stm/impl/loggerxaids.hpp>

Include dependency graph for loggeraids.hpp:

loggeraids.hpp

stm/impl/loggerxaids.hpp

errno.h

assert.h

stddef.hstdio.h

locale

iostream sstream

algorithm

string

boost/mpl/if.hpp boost/mpl/int.hpp boost/mpl/void.hppstm/divaids.hpp

stm/impl/aidsconfig.hpp

stm/impl/divxaids.hpp

limits.hsetjmp.h iomanip

fstream

utility functional

exception

stdexcept set boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/type_traits.hpp boost/cstdint.hpp boost/mpl/bool.hpp stm/basetype.h

stm/system.h

stm/match.h stm/debugaids.hpp

stm/internal/config.h

stm/impl/debugxaids.hpp

ios

This graph shows which files directly or indirectly include this file:

loggeraids.hpp

aids.hpp xctaids.hpp filesystest.cpp smartptrtest.cpp

sudoku.cpp ctaids.hpp

toolaids.hpp ctaids.cpp

Namespaces

• namespace stm

Classes

• class stm::logger_baseCommon base class of all basic_logger class template specializations.

• class stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >

Class template to manage formatted logging on an output stream (normally a log file) and optionally on asecond stream (normally a console) and on the system log (see stm::syslog()).

• struct stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::Fmt

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 539: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.23 loggerxaids.hpp File Reference 538

Format information for output streams.

• struct stm::basic_logger< StringT, stdIndent, lineLength, lockingPolicy >::lockerScoped locking for output streams.

• class stm::logger< stdIndent, lineLength, errorConsole, lockingPolicy >

Class template to manage formatted logging on a std::string based output stream (normally a log file)and optionally on a second std::string based stream (normally a console, by default std::cout, if templateparameter errorConsole is false (the default), or else std::cerr).

• class stm::wlogger< stdIndent, lineLength, errorConsole, lockingPolicy >

Class template to manage formatted logging on a std::wstring based output stream (normally a log file) andoptionally on a second std::wstring based stream (normally a console, by default std::wcout, if templateparameter errorConsole is false (the default), or else std::wcerr).

13.23 loggerxaids.hpp File Reference

13.23.1 Detailed Description

Implementation of formatted logging aids.

Version:

1.07-r47

Date:

2007-09-04 01:10:12 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ inline file contains the implementation of function and class templates for formatted loggingaids. They are declared in the C++ header file loggeraids.hpp belonging to the SysToMath Aids C++Library stmaids.

Definition in file loggerxaids.hpp.

#include <errno.h>

#include <assert.h>

#include <stddef.h>

#include <stdio.h>

#include <locale>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 540: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.23 loggerxaids.hpp File Reference 539

#include <iostream>

#include <sstream>

#include <algorithm>

#include <string>

#include <boost/mpl/if.hpp>

#include <boost/mpl/int.hpp>

#include <boost/mpl/void.hpp>

#include <stm/divaids.hpp>

#include <stm/impl/aidsconfig.hpp>

Include dependency graph for loggerxaids.hpp:

loggerxaids.hpp

errno.h

assert.h

stddef.hstdio.h

locale

iostream sstream

algorithm

string

boost/mpl/if.hpp boost/mpl/int.hpp boost/mpl/void.hppstm/divaids.hpp

stm/impl/aidsconfig.hpp

stm/impl/divxaids.hpp

limits.hsetjmp.h iomanip

fstream

utility functional

exception

stdexcept set boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/type_traits.hpp boost/cstdint.hpp boost/mpl/bool.hpp stm/basetype.h

stm/system.h

stm/match.h stm/debugaids.hpp

stm/internal/config.h

stm/impl/debugxaids.hpp

ios

This graph shows which files directly or indirectly include this file:

loggerxaids.hpp

loggeraids.hpp

aids.hpp xctaids.hpp filesystest.cpp smartptrtest.cpp

sudoku.cpp ctaids.hpp

toolaids.hpp ctaids.cpp

Namespaces

• namespace stm• namespace stm::local

Classes

• class stm::local::basic_xlogger< StringT, lockingPolicy >

stm::basic_logger implementation base class template.

• struct stm::local::basic_xlogger< StringT, lockingPolicy >::Fmt• struct stm::local::basic_xlogger< StringT, lockingPolicy >::Stream• class stm::local::basic_xlogger< StringT, lockingPolicy >::no_lock

Dummy type for no locking.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 541: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.24 lvdspacket.hpp File Reference 540

• class stm::local::basic_xlogger< StringT, lockingPolicy >::locker

Defines

• #define STM_LOGGERXAIDS_HPP

13.23.2 Define Documentation

13.23.2.1 #define STM_LOGGERXAIDS_HPP

Definition at line 1405 of file loggerxaids.hpp.

13.24 lvdspacket.hpp File Reference

13.24.1 Detailed Description

Declarations for the LVDS packet model.

Version:

1.04-r5

Date:

2006-11-30 12:41:49 (demx18a6)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ header file contains declarations of a class template providing a LVDS packet model. They areimplemented in the C++ inline file xlvdspacket.hpp belonging to the SysToMath Tool Aids C++ Librarystmtoolaids.

Definition in file lvdspacket.hpp.

#include <stm/toolaids/impl/xlvdspacket.hpp>

Include dependency graph for lvdspacket.hpp:

lvdspacket.hpp

stm/toolaids/impl/xlvdspacket.hpp

stddef.h exception

stm/filesysaids.hpp

stm/divaids.hpp

stm/toolaids/binmsg.hpp

stm/toolaids/impl/toolaidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.h stdio.h string.h ctype.h

errno.h fstream sstream algorithmstdexcept utility

memory iterator

string locale

list map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h stm/match.h stm/impl/aidsconfig.hppstm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functional boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp

stm/internal/config.h

stm/toolaids/impl/xbinmsg.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 542: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.25 mcbspmsg.hpp File Reference 541

This graph shows which files directly or indirectly include this file:

lvdspacket.hpp

toolaids.hpp

Namespaces

• namespace stm• namespace stm::tools

Classes

• class stm::tools::LvdsPacket< ContextT >

LVDS packet contained in a binary message.

• struct stm::tools::LvdsPacket< ContextT >::DataTypeLVDS packet data type values.

• struct stm::tools::LvdsPacket< ContextT >::PriorityLVDS packet priority values.

• struct stm::tools::LvdsPacket< ContextT >::AichLVDS packet Aich values.

13.25 mcbspmsg.hpp File Reference

13.25.1 Detailed Description

Declarations for the McBSP message model.

Version:

1.04-r5

Date:

2006-11-30 12:41:49 (demx18a6)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 543: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.26 msgtimestamp.hpp File Reference 542

This C++ header file contains declarations of a class template providing a McBSP message model. Theyare implemented in the C++ inline file xmcbspmsg.hpp belonging to the SysToMath Tool Aids C++ Librarystmtoolaids.

Definition in file mcbspmsg.hpp.

#include <stm/toolaids/impl/xmcbspmsg.hpp>

Include dependency graph for mcbspmsg.hpp:

mcbspmsg.hpp

stm/toolaids/impl/xmcbspmsg.hpp

stddef.h exception

stm/filesysaids.hpp

stm/divaids.hpp

stm/toolaids/binmsg.hpp

stm/toolaids/impl/toolaidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.h stdio.h string.h ctype.h

errno.h fstream sstream algorithmstdexcept utility

memory iterator

string locale

list map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h stm/match.h stm/impl/aidsconfig.hppstm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functional boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp

stm/internal/config.h

stm/toolaids/impl/xbinmsg.hpp

This graph shows which files directly or indirectly include this file:

mcbspmsg.hpp

toolaids.hpp

Namespaces

• namespace stm• namespace stm::tools

Classes

• class stm::tools::McBspMessage< ContextT >

McBSP message scanning from a BaseMessage’s byte_iterator_range.

13.26 msgtimestamp.hpp File Reference

13.26.1 Detailed Description

Declarations for the message timestamp model.

Version:

1.04-r5

Date:

2006-11-30 12:41:50 (demx18a6)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 544: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.26 msgtimestamp.hpp File Reference 543

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ header file contains declarations of a class providing a message timestamp model. They areimplemented in the C++ inline file xmsgtimestamp.hpp belonging to the SysToMath Tool Aids C++ Librarystmtoolaids.

Definition in file msgtimestamp.hpp.

#include <stm/toolaids/impl/xmsgtimestamp.hpp>

Include dependency graph for msgtimestamp.hpp:

msgtimestamp.hpp

stm/toolaids/impl/xmsgtimestamp.hpp

stddef.h

stm/divaids.hpp

stm/toolaids/impl/toolaidsconfig.hppstm/impl/divxaids.hpp

limits.h setjmp.herrno.h locale iomanip

fstreamsstream

utility algorithm functional

exception

stdexcept

string

set boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/type_traits.hpp boost/cstdint.hpp boost/mpl/bool.hpp stm/basetype.h

stm/system.h

stm/match.h

stm/impl/aidsconfig.hpp

stm/debugaids.hpp

stm/internal/config.h

stm/impl/debugxaids.hpp

stdio.h iosiostream

This graph shows which files directly or indirectly include this file:

msgtimestamp.hpp

xbinmsg.hpp

toolaids.hpp

binmsg.hpp

xdspmsg.hpp xlvdspacket.hpp xmcbspmsg.hpp xprintkbinmsg.hpp

dspmsg.hpp

dspmsg.cpp

lvdspacket.hpp mcbspmsg.hpp printkbinmsg.hpp

Namespaces

• namespace stm• namespace stm::tools

Classes

• class stm::tools::MsgTimestamp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 545: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.27 printkbinmsg.hpp File Reference 544

Message timestamp type.

13.27 printkbinmsg.hpp File Reference

13.27.1 Detailed Description

Declarations for the PrintkBin message model.

Version:

1.04-r5

Date:

2006-11-30 12:41:50 (demx18a6)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ header file contains declarations of a class template providing a PrintkBin message model. Theyare implemented in the C++ inline file xprintkbin.hpp belonging to the SysToMath Tool Aids C++ Librarystmtoolaids.

Definition in file printkbinmsg.hpp.

#include <stm/toolaids/impl/xprintkbinmsg.hpp>

Include dependency graph for printkbinmsg.hpp:

printkbinmsg.hpp

stm/toolaids/impl/xprintkbinmsg.hpp

stddef.h exception

stm/filesysaids.hpp

stm/divaids.hpp

stm/toolaids/binmsg.hpp

stm/toolaids/impl/toolaidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.h stdio.h string.h ctype.h

errno.h fstream sstream algorithmstdexcept utility

memory iterator

string locale

list map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h stm/match.h stm/impl/aidsconfig.hppstm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functional boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp

stm/internal/config.h

stm/toolaids/impl/xbinmsg.hpp

This graph shows which files directly or indirectly include this file:

printkbinmsg.hpp

toolaids.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 546: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.28 smartptraids.hpp File Reference 545

Namespaces

• namespace stm• namespace stm::tools

Classes

• class stm::tools::PrintkBinMessage< ContextT >

PrintkBin message scanning from a the BaseMessage’s byte_iterator_range.

13.28 smartptraids.hpp File Reference

13.28.1 Detailed Description

Declarations of smart pointer aids.

Version:

1.04-r5

Date:

2006-11-30 12:41:44 (demx18a6)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ header file contains the declarations of class templates for smart pointer aids. They are imple-mented in the C++ inline file smartptrxaids.hpp belonging to the SysToMath Aids C++ Library stmaids.

Definition in file smartptraids.hpp.

#include <stm/impl/smartptrxaids.hpp>

Include dependency graph for smartptraids.hpp:

smartptraids.hpp

stm/impl/smartptrxaids.hpp

vector

sstream

iterator

functional exception stdexcept

climitsstm/divaids.hpp

boost/utility/enable_if.hpp boost/type_traits.hpp boost/mpl/bool.hpp stm/impl/aidsconfig.hpp

boost/static_assert.hpp boost/utility.hpp boost/archive/text_oarchive.hpp boost/archive/text_iarchive.hpp boost/archive/xml_oarchive.hpp boost/archive/xml_iarchive.hpp boost/archive/binary_oarchive.hpp boost/archive/binary_iarchive.hpp boost/multi_index_container.hpp boost/multi_index/ordered_index.hpp boost/multi_index/key_extractors.hpp boost/serialization/serialization.hpp boost/serialization/access.hpp boost/serialization/split_member.hpp boost/serialization/nvp.hpp boost/serialization/tracking.hpp boost/serialization/shared_ptr.hpp boost/serialization/set.hpp boost/serialization/map.hpp

stm/impl/divxaids.hpp

stddef.h limits.h setjmp.h errno.h locale iomanip fstream utility algorithmstring set boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp

stm/internal/config.h

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 547: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.28 smartptraids.hpp File Reference 546

This graph shows which files directly or indirectly include this file:

smartptraids.hpp

aids.hpp smartptrtest.cpp

sudoku.cpp

Namespaces

• namespace stm• namespace stm::smartptr

Classes

• struct stm::smartptr::policy< Flags >

Class template serving as Policy template parameter for class templates injective_ptr and injective_set.

• struct stm::smartptr::MakeSurjective< Policy >

Class template serving as wrapper of template parameter Policy to ensure the surjective policy property.

• struct stm::smartptr::MakeMultirange< Policy >

Class template serving as wrapper of template parameter Policy to ensure the multirange policy property.

• class stm::smartptr::injective_ptr< T, Compare, Allocator, Policy >

The class template injective_ptr is a smart pointer pointing to unique constant objects of element type Tstored using a static repository.

• class stm::smartptr::injective_set< T, Compare, Allocator, Policy >

The class template injective_set is a container of unique constant objects of value type T stored wrapping aspecific range of the static repository of an injective_ptr<T, Compare, Allocator, Policy> object.

• class stm::smartptr::injective_set< T, Compare, Allocator, Policy >::accessorSubclass of injective_ptr<T, Compare, Allocator, MakeMultirange<Policy> > representing an element ofthis injective_set object.

• class stm::smartptr::injective< T, Compare, Allocator, Policy >

The traits class template injective combines the class template injective_ptr and its associated class templateinjective_set having either the surjective or the not surjective policy property.

• class stm::smartptr::bijective< T, Compare, Allocator, Policy >

The traits class template bijective combines the class template injective_ptr and its associated class templateinjective_set having the surjective policy property.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 548: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.28 smartptraids.hpp File Reference 547

Policy Flags

The policy flag bits are bitwise orable.

• const stm::dword stm::smartptr::Surjective = 0x00000001Surjective policy flag.

• const stm::dword stm::smartptr::Multirange = 0x00000002Multirange policy flag.

Functions

• template<class T, class Compare, class Allocator, class Policy>

bool stm::smartptr::operator== (const injective_ptr< T, Compare, Allocator, Policy > &ptr1, constinjective_ptr< T, Compare, Allocator, Policy > &ptr2)

Returns true, if both ptr1 and ptr2 are empty or ptr1 and ptr2 are not empty and point to elements beingequivalent under the equivalence relation induced by Compare, else false.

• template<class T, class Compare, class Allocator, class Policy>

bool stm::smartptr::operator!= (const injective_ptr< T, Compare, Allocator, Policy > &ptr1, constinjective_ptr< T, Compare, Allocator, Policy > &ptr2)

Returns true, if either ptr1 or ptr2 is not empty and ptr1 or ptr2 is empty or else point to elements beingnon-equivalent under the equivalence relation induced by Compare, else false.

• template<class T, class Compare, class Allocator, class Policy>

bool stm::smartptr::operator< (const injective_ptr< T, Compare, Allocator, Policy > &ptr1, constinjective_ptr< T, Compare, Allocator, Policy > &ptr2)

Returns a bool value such that operator< is a strict weak ordering as decribed in (25.3) and that under theequivalence relation.

• template<class T, class Compare, class Allocator, class Policy>

void stm::smartptr::swap (injective_ptr< T, Compare, Allocator, Policy > &ptr1, injective_ptr< T,Compare, Allocator, Policy > &ptr2)

Exchanges the contents of the injective_ptr objects ptr1 and ptr2.

• template<class T, class Compare, class Allocator, class Policy>

const T ∗ stm::smartptr::get_pointer (const injective_ptr< T, Compare, Allocator, Policy > &ptr)Returns a constant pointer to the element pointed to by the injective_ptr object ptr, if ptr is not be empty,else the null pointer.

• template<class OStreamT, class T, class Compare, class Allocator, class Policy>

OStreamT & stm::smartptr::operator<< (OStreamT &os, const injective_ptr< T, Compare, Alloca-tor, Policy > &ptr)

Inserts a string representation of the address of the element pointed to by ptr into the output stream os.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 549: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.29 smartptrtest.cpp File Reference 548

13.29 smartptrtest.cpp File Reference

13.29.1 Detailed Description

Implementation of a console program demostrating the usage and testing the implementation of the Sys-ToMath Aids C++ Library module SmartptrAids.

Version:

1.10-r347

Date:

2008-01-03 19:42:44 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ program file contains the implementation of the console program smartptrtest.

Definition in file smartptrtest.cpp.

#include <string>

#include <iostream>

#include <exception>

#include <stdexcept>

#include <stm/smartptraids.hpp>

#include <stm/filesysaids.hpp>

#include <stm/divaids.hpp>

#include <stm/debugaids.hpp>

#include <stm/loggeraids.hpp>

#include <stm/getopts.h>

Include dependency graph for smartptrtest.cpp:

smartptrtest.cpp

stringiostream exception

stdexcept

stm/smartptraids.hpp

stm/divaids.hpp

stm/debugaids.hpp

stm/filesysaids.hppstm/loggeraids.hpp stm/getopts.h

stm/impl/smartptrxaids.hpp

vector

sstream

iterator

functional

climits

boost/utility/enable_if.hppboost/type_traits.hpp boost/mpl/bool.hpp

stm/impl/aidsconfig.hpp

boost/static_assert.hpp boost/utility.hpp boost/archive/text_oarchive.hpp boost/archive/text_iarchive.hpp boost/archive/xml_oarchive.hpp boost/archive/xml_iarchive.hpp boost/archive/binary_oarchive.hpp boost/archive/binary_iarchive.hpp boost/multi_index_container.hpp boost/multi_index/ordered_index.hpp boost/multi_index/key_extractors.hpp boost/serialization/serialization.hpp boost/serialization/access.hpp boost/serialization/split_member.hpp boost/serialization/nvp.hpp boost/serialization/tracking.hpp boost/serialization/shared_ptr.hpp boost/serialization/set.hpp boost/serialization/map.hpp

stm/impl/divxaids.hpp

stddef.h

errno.h

stm/impl/debugxaids.hpp

stdio.h

stm/impl/filesysxaids.hpp

assert.h string.h ctype.h

stm/impl/loggerxaids.hpp

Classes

• struct Xyz

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 550: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.30 smartptrxaids.hpp File Reference 549

• class Slot• class Node• struct Operation• struct Operation::Type• struct Operation::Mode• struct Operation::Archive• struct TestPtr< Policy >

• struct TestSet< Policy >

Typedefs

• typedef stm::injective_ptr< Xyz > XyzPtr• typedef stm::bijective< Node >::set NodeSet

Functions

• bool operator< (const Xyz &e1, const Xyz &e2)• template<class Policy>

void testptr (const Operation &op)• template<class Policy>

void testset (const Operation &op)• int main (int argc, char ∗argv[ ])

Variables

• const char ∗ Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath"• const char ∗ Version = "1.10-r347"• static const char ∗ man [ ]

Man page.

• XyzPtr ptr1• XyzPtr ptr2 = Xyz (3)• Xyz xyz1 = ∗ptr2• Xyz xyz2 (7, ptr1)• const Xyz ∗ p = xyz2.ptr.get ()• NodeSet nodes• Slot rootSlot• Node::Ptr rootNode = nodes.insert (Node (rootSlot))

13.30 smartptrxaids.hpp File Reference

13.30.1 Detailed Description

Implementation of smart pointer aids.

Version:

1.07-r44

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 551: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.30 smartptrxaids.hpp File Reference 550

Date:

2007-08-31 16:12:46 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ inline file contains the implementation of class templates for smart pointer aids. They are declaredin the C++ header file smartptraids.hpp belonging to the SysToMath Aids C++ Library stmaids.

Definition in file smartptrxaids.hpp.

#include <vector>

#include <sstream>

#include <iterator>

#include <functional>

#include <exception>

#include <stdexcept>

#include <climits>

#include <stm/divaids.hpp>

#include <stm/impl/aidsconfig.hpp>

#include <boost/static_assert.hpp>

#include <boost/utility.hpp>

#include <boost/utility/enable_if.hpp>

#include <boost/type_traits.hpp>

#include <boost/mpl/bool.hpp>

#include <boost/archive/text_oarchive.hpp>

#include <boost/archive/text_iarchive.hpp>

#include <boost/archive/xml_oarchive.hpp>

#include <boost/archive/xml_iarchive.hpp>

#include <boost/archive/binary_oarchive.hpp>

#include <boost/archive/binary_iarchive.hpp>

#include <boost/multi_index_container.hpp>

#include <boost/multi_index/ordered_index.hpp>

#include <boost/multi_index/key_extractors.hpp>

#include <boost/serialization/serialization.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 552: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.30 smartptrxaids.hpp File Reference 551

#include <boost/serialization/access.hpp>

#include <boost/serialization/split_member.hpp>

#include <boost/serialization/nvp.hpp>

#include <boost/serialization/tracking.hpp>

#include <boost/serialization/shared_ptr.hpp>

#include <boost/serialization/set.hpp>

#include <boost/serialization/map.hpp>

Include dependency graph for smartptrxaids.hpp:

smartptrxaids.hpp

vector

sstream

iterator

functional exception stdexcept

climitsstm/divaids.hpp

boost/utility/enable_if.hpp boost/type_traits.hpp boost/mpl/bool.hpp stm/impl/aidsconfig.hpp

boost/static_assert.hpp boost/utility.hpp boost/archive/text_oarchive.hpp boost/archive/text_iarchive.hpp boost/archive/xml_oarchive.hpp boost/archive/xml_iarchive.hpp boost/archive/binary_oarchive.hpp boost/archive/binary_iarchive.hpp boost/multi_index_container.hpp boost/multi_index/ordered_index.hpp boost/multi_index/key_extractors.hpp boost/serialization/serialization.hpp boost/serialization/access.hpp boost/serialization/split_member.hpp boost/serialization/nvp.hpp boost/serialization/tracking.hpp boost/serialization/shared_ptr.hpp boost/serialization/set.hpp boost/serialization/map.hpp

stm/impl/divxaids.hpp

stddef.h limits.h setjmp.h errno.h locale iomanip fstream utilityalgorithm string set boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/cstdint.hpp

stm/internal/config.h

This graph shows which files directly or indirectly include this file:

smartptrxaids.hpp

smartptraids.hpp

aids.hpp smartptrtest.cpp

sudoku.cpp

Namespaces

• namespace stm• namespace stm::smartptr• namespace stm::smartptr::local

Classes

• class stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange >

stm::smartptr::injective_ptr implementation base class template.

• class stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, multirange>::rangeid_type

• struct stm::smartptr::local::pcomp< T, Compare >

• class stm::smartptr::local::pointee_type< T >

• struct stm::smartptr::local::item_type< T, Compare >

• struct stm::smartptr::local::item_descr< T, Compare, true, true >

• struct stm::smartptr::local::item_descr< T, Compare, false, true >

• struct stm::smartptr::local::increfcount< T, Compare, refcounted, multirange >

• struct stm::smartptr::local::decrefcount< T, Compare, refcounted, multirange >

• struct stm::smartptr::local::comp_value_id< T, Compare >

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 553: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.30 smartptrxaids.hpp File Reference 552

• struct stm::smartptr::local::comp_id< T, Compare >

• struct stm::smartptr::local::comp_value< T, Compare >

• class stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange >

• class stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, multirange>::range_iterator

• class stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >

• class stm::smartptr::local::mapped_ptr< T, Compare, Allocator, refcounted, false >::rangeid_type• struct stm::smartptr::local::item_descr< T, Compare, true, false >

• struct stm::smartptr::local::item_descr< T, Compare, false, false >

• class stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >

• class stm::smartptr::local::repository_type< T, Compare, Allocator, refcounted, false >::range_-iterator

Defines

• #define STM_SMARTPTRXAIDS_HPP

Typedefs

• typedef long stm::smartptr::local::refcount_typeTo be compatible with boost::shared_ptr.

Functions

• template<class T, class Compare, class Allocator, class Policy>

bool stm::smartptr::operator== (const injective_ptr< T, Compare, Allocator, Policy > &ptr1, constinjective_ptr< T, Compare, Allocator, Policy > &ptr2)

Returns true, if both ptr1 and ptr2 are empty or ptr1 and ptr2 are not empty and point to elements beingequivalent under the equivalence relation induced by Compare, else false.

• template<class T, class Compare, class Allocator, class Policy>

bool stm::smartptr::operator!= (const injective_ptr< T, Compare, Allocator, Policy > &ptr1, constinjective_ptr< T, Compare, Allocator, Policy > &ptr2)

Returns true, if either ptr1 or ptr2 is not empty and ptr1 or ptr2 is empty or else point to elements beingnon-equivalent under the equivalence relation induced by Compare, else false.

• template<class T, class Compare, class Allocator, class Policy>

bool stm::smartptr::operator< (const injective_ptr< T, Compare, Allocator, Policy > &ptr1, constinjective_ptr< T, Compare, Allocator, Policy > &ptr2)

Returns a bool value such that operator< is a strict weak ordering as decribed in (25.3) and that under theequivalence relation.

• template<class T, class Compare, class Allocator, class Policy>

const T ∗ stm::smartptr::get_pointer (const injective_ptr< T, Compare, Allocator, Policy > &ptr)Returns a constant pointer to the element pointed to by the injective_ptr object ptr, if ptr is not be empty,else the null pointer.

• template<class OStreamT, class T, class Compare, class Allocator, class Policy>

OStreamT & stm::smartptr::operator<< (OStreamT &os, const injective_ptr< T, Compare, Alloca-tor, Policy > &ptr)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 554: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.31 sudoku.cpp File Reference 553

Inserts a string representation of the address of the element pointed to by ptr into the output stream os.

13.30.2 Define Documentation

13.30.2.1 #define STM_SMARTPTRXAIDS_HPP

Definition at line 2599 of file smartptrxaids.hpp.

13.31 sudoku.cpp File Reference

13.31.1 Detailed Description

Implementation of a console program demostrating the usage and testing the implementation of the Sys-ToMath Aids C++ Library stmaids.

Version:

1.10-r347

Date:

2008-01-03 19:42:44 (Tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ program file contains the implementation of the console program sudoku.

Definition in file sudoku.cpp.

#include <stdio.h>

#include <stdlib.h>

#include <stdarg.h>

#include <time.h>

#include <errno.h>

#include <ctype.h>

#include <limits.h>

#include <exception>

#include <stdexcept>

#include <algorithm>

#include <vector>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 555: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.32 toolaids.hpp File Reference 554

#include <set>

#include <boost/utility.hpp>

#include <boost/shared_ptr.hpp>

#include <boost/date_time/posix_time/posix_time.hpp>

#include <stm/getopts.h>

#include <stm/dvec.h>

#include <stm/aids.hpp>

Include dependency graph for sudoku.cpp:

sudoku.cpp

stdio.h

stdlib.h stdarg.h time.h

errno.h

ctype.h

limits.h

exception

stdexcept algorithm

vector

set

boost/utility.hpp

boost/shared_ptr.hpp boost/date_time/posix_time/posix_time.hpp stm/getopts.h stm/dvec.hstm/aids.hpp

stm/debugaids.hpp

stm/filesysaids.hpp

stm/divaids.hpp

stm/loggeraids.hppstm/smartptraids.hpp stm/gencrc.hpp

stm/impl/debugxaids.hpp

stddef.hios iostreamsstreamfstream stringstm/system.hstm/impl/aidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.hstring.h

utility

memoryiterator

locale

list mapboost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp

stm/impl/divxaids.hpp

stm/impl/loggerxaids.hppstm/impl/smartptrxaids.hpp

stm/impl/genxcrc.hpp

Classes

• class SudokuSudoku model.

• class Sudoku::StateSudoku state.

Functions

• int main (int argc, char ∗∗argv)Main function implementing the command sudoku.

Variables

• const char ∗ Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath"• const char ∗ Version = "1.10-r347"• static const char ∗ man [ ]

Man page.

13.32 toolaids.hpp File Reference

13.32.1 Detailed Description

Central include file for SysToMath Tool Aids C++ library.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 556: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.33 toolaidsconfig.hpp File Reference 555

Version:

1.04-r4

Date:

2006-11-18 09:01:41 (tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ header file includes all other library object interface header files of to the SysToMath Tool AidsC++ Library stmtoolaids.

Definition in file toolaids.hpp.

#include <stm/toolaids/ctaids.hpp>

#include <stm/toolaids/binmsg.hpp>

#include <stm/toolaids/dspmsg.hpp>

#include <stm/toolaids/lvdspacket.hpp>

#include <stm/toolaids/mcbspmsg.hpp>

#include <stm/toolaids/msgtimestamp.hpp>

#include <stm/toolaids/printkbinmsg.hpp>

Include dependency graph for toolaids.hpp:

toolaids.hpp

stm/toolaids/ctaids.hpp stm/toolaids/binmsg.hpp

stm/toolaids/msgtimestamp.hpp

stm/toolaids/dspmsg.hpp stm/toolaids/lvdspacket.hppstm/toolaids/mcbspmsg.hppstm/toolaids/printkbinmsg.hpp

stm/toolaids/impl/xctaids.hpp

stddef.h

vector

list

exceptionstdexcept

stm/filesysaids.hpp

stm/divaids.hpp

stm/loggeraids.hpp

stm/toolaids/impl/toolaidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.h stdio.h string.h ctype.h

errno.h fstreamsstream algorithm utility

memory iterator

string locale

map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hppboost/function.hpp

stm/impl/divxaids.hpp

stm/impl/loggerxaids.hpp

stm/internal/config.h

stm/toolaids/impl/xbinmsg.hpp

stm/toolaids/impl/xmsgtimestamp.hpp

stm/toolaids/impl/xdspmsg.hpp stm/toolaids/impl/xlvdspacket.hppstm/toolaids/impl/xmcbspmsg.hppstm/toolaids/impl/xprintkbinmsg.hpp

13.33 toolaidsconfig.hpp File Reference

13.33.1 Detailed Description

Management of library generation and of automatic library choice for the SysToMath Tool Aids C++ librarystmaids.

Version:

1.04-r4

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 557: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.33 toolaidsconfig.hpp File Reference 556

Date:

2006-11-18 09:01:34 (tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ header file defines the macro StmDllSpec necessary for correct library usage and the pragmacomment(lib) responsible for correct library choice.

Definition in file toolaidsconfig.hpp.

#include <stm/internal/config.h>

Include dependency graph for toolaidsconfig.hpp:

toolaidsconfig.hpp

stm/internal/config.h

This graph shows which files directly or indirectly include this file:

toolaidsconfig.hpp

xbinmsg.hpp

xdspmsg.hpp xlvdspacket.hppxmcbspmsg.hpp xprintkbinmsg.hpp

xctaids.hppxmsgtimestamp.hpp

binmsg.hpp

toolaids.hpp

dspmsg.hpp

dspmsg.cpp

lvdspacket.hppmcbspmsg.hpp printkbinmsg.hpp

ctaids.hpp

ctaids.cpp

msgtimestamp.hpp

Defines

• #define STM_LIB_NAME "stmtoolaids"

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 558: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.34 xbinmsg.hpp File Reference 557

13.33.2 Define Documentation

13.33.2.1 #define STM_LIB_NAME "stmtoolaids"

Definition at line 80 of file toolaidsconfig.hpp.

13.34 xbinmsg.hpp File Reference

13.34.1 Detailed Description

Implementation of the abstract binary message model.

Version:

1.04-r5

Date:

2006-11-30 12:41:46 (demx18a6)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ inline file contains inline definitions and declarations implementing the abstract binary messagemodel. They are declared in the C++ header file xbinmsg.hpp belonging to the SysToMath Tool Aids C++Library stmtoolaids.

Definition in file xbinmsg.hpp.

#include <stddef.h>

#include <exception>

#include <stdexcept>

#include <set>

#include <stm/filesysaids.hpp>

#include <stm/divaids.hpp>

#include <stm/toolaids/msgtimestamp.hpp>

#include <stm/toolaids/impl/toolaidsconfig.hpp>

Include dependency graph for xbinmsg.hpp:

xbinmsg.hpp

stddef.hexceptionstdexcept set

stm/filesysaids.hpp

stm/divaids.hpp

stm/toolaids/msgtimestamp.hpp

stm/toolaids/impl/toolaidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.h stdio.h string.h ctype.h

errno.h fstream sstream algorithm utility

memory iterator

string locale

list map boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hppboost/bind.hpp

stm/system.h stm/match.h stm/impl/aidsconfig.hppstm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functional boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hppboost/cstdint.hpp

stm/internal/config.h

stm/toolaids/impl/xmsgtimestamp.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 559: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.34 xbinmsg.hpp File Reference 558

This graph shows which files directly or indirectly include this file:

xbinmsg.hpp

binmsg.hpp

xdspmsg.hpp

toolaids.hpp

xlvdspacket.hpp xmcbspmsg.hpp xprintkbinmsg.hpp

dspmsg.hpp

dspmsg.cpp

lvdspacket.hpp mcbspmsg.hpp printkbinmsg.hpp

Namespaces

• namespace stm• namespace stm::tools• namespace stm::tools::local

Classes

• class stm::tools::local::xBaseMessageContext< DataT, InputRangeT, ContextT >

stm::tools::BaseMessageContext implementation base class template.

• class stm::tools::local::xBaseMessage< ContextT >

stm::tools::BaseMessage implementation base class template.

• class stm::tools::local::xBinMessageGapstm::tools::BinMessageContext::Gap implementation base class.

• class stm::tools::local::xBinMessageContext< ContextT >

stm::tools::BinMessageContext implementation base class template.

• class stm::tools::local::xBinMessage< ContextT >

stm::tools::BinMessage implementation base class template.

Defines

• #define STM_TOOLAIDS_XBINMSG_HPP

13.34.2 Define Documentation

13.34.2.1 #define STM_TOOLAIDS_XBINMSG_HPP

Definition at line 821 of file xbinmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 560: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.35 xctaids.hpp File Reference 559

13.35 xctaids.hpp File Reference

13.35.1 Detailed Description

Implementation of ClearCase cleartool aids.

Version:

1.04-r8

Date:

2006-12-08 23:20:48 (tom)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ inline file contains inline definitions and declarations implementing ClearCase cleartool aids.They are declared in the C++ header file ctaids.hpp belonging to the SysToMath Tool Aids C++ Librarystmtoolaids.

Definition in file xctaids.hpp.

#include <stddef.h>

#include <vector>

#include <list>

#include <exception>

#include <stdexcept>

#include <stm/filesysaids.hpp>

#include <stm/divaids.hpp>

#include <stm/loggeraids.hpp>

#include <stm/toolaids/impl/toolaidsconfig.hpp>

Include dependency graph for xctaids.hpp:

xctaids.hpp

stddef.h

vector

list

exception stdexcept

stm/filesysaids.hpp

stm/divaids.hpp

stm/loggeraids.hpp

stm/toolaids/impl/toolaidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.h stdio.hstring.hctype.h

errno.hfstream sstream algorithmutility

memory iterator

string locale

map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h stm/match.h stm/impl/aidsconfig.hppstm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functional boost/range.hpp boost/integer.hppboost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp

stm/internal/config.h

stm/impl/loggerxaids.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 561: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.36 xdspmsg.hpp File Reference 560

This graph shows which files directly or indirectly include this file:

xctaids.hpp

ctaids.hpp

toolaids.hpp ctaids.cpp

Namespaces

• namespace stm• namespace stm::tools• namespace stm::tools::local

Classes

• class stm::tools::local::xArgListstm::tools::Ct::ArgList implementation base class.

• class stm::tools::local::xCtstm::tools::Ct implementation base class.

• class stm::tools::local::xCtOperationstm::tools::CtOperation implementation base class.

• class stm::tools::local::xCtOperation::LabelList

Defines

• #define STM_TOOLAIDS_XCTAIDS_HPP

13.35.2 Define Documentation

13.35.2.1 #define STM_TOOLAIDS_XCTAIDS_HPP

Definition at line 478 of file xctaids.hpp.

13.36 xdspmsg.hpp File Reference

13.36.1 Detailed Description

Implementation of the DSP message model.

Version:

1.04-r5

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 562: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.36 xdspmsg.hpp File Reference 561

Date:

2006-11-30 12:41:47 (demx18a6)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ inline file contains inline definitions and declarations implementing the DSP message model.They are declared in the C++ header file dspmsg.hpp belonging to the SysToMath Tool Aids C++ Librarystmtoolaids.

Definition in file xdspmsg.hpp.

#include <stddef.h>

#include <exception>

#include <stm/filesysaids.hpp>

#include <stm/divaids.hpp>

#include <stm/toolaids/binmsg.hpp>

#include <stm/toolaids/impl/toolaidsconfig.hpp>

Include dependency graph for xdspmsg.hpp:

xdspmsg.hpp

stddef.h exception

stm/filesysaids.hpp

stm/divaids.hpp

stm/toolaids/binmsg.hpp

stm/toolaids/impl/toolaidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.h stdio.h string.h ctype.h

errno.hfstream sstream algorithmstdexcept utility

memory iterator

string locale

list map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h stm/match.h stm/impl/aidsconfig.hppstm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functional boost/range.hpp boost/integer.hpp boost/integer_traits.hppboost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/cstdint.hpp

stm/internal/config.h

stm/toolaids/impl/xbinmsg.hpp

This graph shows which files directly or indirectly include this file:

xdspmsg.hpp

dspmsg.hpp

toolaids.hpp dspmsg.cpp

Namespaces

• namespace stm• namespace stm::tools• namespace stm::tools::local

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 563: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.37 xlvdspacket.hpp File Reference 562

Classes

• class stm::tools::local::xTraceHeaderstm::tools::DspMessage::TraceHeader implementation base class.

• class stm::tools::local::xDspMessage< ContextT >

stm::tools::DspMessage implementation base class template.

Defines

• #define STM_TOOLAIDS_XDSPMSG_HPP

13.36.2 Define Documentation

13.36.2.1 #define STM_TOOLAIDS_XDSPMSG_HPP

Definition at line 329 of file xdspmsg.hpp.

13.37 xlvdspacket.hpp File Reference

13.37.1 Detailed Description

Implementation of the LVDS packet model.

Version:

1.04-r5

Date:

2006-11-30 12:41:47 (demx18a6)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ inline file contains inline definitions and declarations implementing the LVDS packet model.They are declared in the C++ header file lvdspacket.hpp belonging to the SysToMath Tool Aids C++Library stmtoolaids.

Definition in file xlvdspacket.hpp.

#include <stddef.h>

#include <exception>

#include <stm/filesysaids.hpp>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 564: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.37 xlvdspacket.hpp File Reference 563

#include <stm/divaids.hpp>

#include <stm/toolaids/binmsg.hpp>

#include <stm/toolaids/impl/toolaidsconfig.hpp>

Include dependency graph for xlvdspacket.hpp:

xlvdspacket.hpp

stddef.h exception

stm/filesysaids.hpp

stm/divaids.hpp

stm/toolaids/binmsg.hpp

stm/toolaids/impl/toolaidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.h stdio.h string.h ctype.h

errno.hfstream sstream algorithmstdexcept utility

memory iterator

string locale

list map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h stm/match.h stm/impl/aidsconfig.hppstm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functional boost/range.hpp boost/integer.hpp boost/integer_traits.hppboost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/cstdint.hpp

stm/internal/config.h

stm/toolaids/impl/xbinmsg.hpp

This graph shows which files directly or indirectly include this file:

xlvdspacket.hpp

lvdspacket.hpp

toolaids.hpp

Namespaces

• namespace stm• namespace stm::tools• namespace stm::tools::local

Classes

• class stm::tools::local::xLvdsPacket< ContextT >

stm::tools::LvdsPacket implementation base class template.

Defines

• #define STM_TOOLAIDS_XLVDSPACKET_HPP

13.37.2 Define Documentation

13.37.2.1 #define STM_TOOLAIDS_XLVDSPACKET_HPP

Definition at line 432 of file xlvdspacket.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 565: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.38 xmcbspmsg.hpp File Reference 564

13.38 xmcbspmsg.hpp File Reference

13.38.1 Detailed Description

Implementation of the McBSP message model.

Version:

1.04-r5

Date:

2006-11-30 12:41:48 (demx18a6)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ inline file contains inline definitions and declarations implementing the McBSP message model.They are declared in the C++ header file mcbspmsg.hpp belonging to the SysToMath Tool Aids C++Library stmtoolaids.

Definition in file xmcbspmsg.hpp.

#include <stddef.h>

#include <exception>

#include <stm/filesysaids.hpp>

#include <stm/divaids.hpp>

#include <stm/toolaids/binmsg.hpp>

#include <stm/toolaids/impl/toolaidsconfig.hpp>

Include dependency graph for xmcbspmsg.hpp:

xmcbspmsg.hpp

stddef.h exception

stm/filesysaids.hpp

stm/divaids.hpp

stm/toolaids/binmsg.hpp

stm/toolaids/impl/toolaidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.h stdio.h string.h ctype.h

errno.hfstream sstream algorithmstdexcept utility

memory iterator

string locale

list map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h stm/match.h stm/impl/aidsconfig.hppstm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functional boost/range.hpp boost/integer.hpp boost/integer_traits.hppboost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/cstdint.hpp

stm/internal/config.h

stm/toolaids/impl/xbinmsg.hpp

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 566: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.39 xmsgtimestamp.hpp File Reference 565

This graph shows which files directly or indirectly include this file:

xmcbspmsg.hpp

mcbspmsg.hpp

toolaids.hpp

Namespaces

• namespace stm• namespace stm::tools• namespace stm::tools::local

Classes

• class stm::tools::local::xMcBspMessage< ContextT >

stm::tools::McBspMessage implementation base class template.

• class stm::tools::local::xMcBspMessage< ContextT >::IdentificationType managing the identification of a McBSP message in a byte stream.

Defines

• #define STM_TOOLAIDS_XMCBSPMSG_HPP

13.38.2 Define Documentation

13.38.2.1 #define STM_TOOLAIDS_XMCBSPMSG_HPP

Definition at line 496 of file xmcbspmsg.hpp.

13.39 xmsgtimestamp.hpp File Reference

13.39.1 Detailed Description

Implementation of the message timestamp model.

Version:

1.04-r5

Date:

2006-11-30 12:41:48 (demx18a6)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 567: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.39 xmsgtimestamp.hpp File Reference 566

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ inline file contains inline definitions and declarations implementing the message timestampmodel. They are declared in the C++ header file msgtimestamp.hpp belonging to the SysToMath ToolAids C++ Library stmtoolaids.

Definition in file xmsgtimestamp.hpp.

#include <stddef.h>

#include <stm/divaids.hpp>

#include <stm/toolaids/impl/toolaidsconfig.hpp>

Include dependency graph for xmsgtimestamp.hpp:

xmsgtimestamp.hpp

stddef.h

stm/divaids.hpp

stm/toolaids/impl/toolaidsconfig.hppstm/impl/divxaids.hpp

limits.h setjmp.herrno.h locale iomanip

fstreamsstream

utility algorithm functional

exception

stdexcept

string

set boost/range.hpp boost/integer.hpp boost/integer_traits.hpp boost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/type_traits.hpp boost/cstdint.hpp boost/mpl/bool.hpp stm/basetype.h

stm/system.h

stm/match.h

stm/impl/aidsconfig.hpp

stm/debugaids.hpp

stm/internal/config.h

stm/impl/debugxaids.hpp

stdio.h iosiostream

This graph shows which files directly or indirectly include this file:

xmsgtimestamp.hpp

msgtimestamp.hpp

xbinmsg.hpp

toolaids.hpp

binmsg.hpp

xdspmsg.hpp xlvdspacket.hpp xmcbspmsg.hpp xprintkbinmsg.hpp

dspmsg.hpp

dspmsg.cpp

lvdspacket.hpp mcbspmsg.hpp printkbinmsg.hpp

Namespaces

• namespace stm

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 568: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.40 xprintkbinmsg.hpp File Reference 567

• namespace stm::tools• namespace stm::tools::local

Classes

• class stm::tools::local::xMsgTimestampstm::tools::MsgTimestamp implementation base class.

Defines

• #define STM_TOOLAIDS_XMSGTIMESTAMP_HPP

13.39.2 Define Documentation

13.39.2.1 #define STM_TOOLAIDS_XMSGTIMESTAMP_HPP

Definition at line 321 of file xmsgtimestamp.hpp.

13.40 xprintkbinmsg.hpp File Reference

13.40.1 Detailed Description

Implementation of the PrintkBin message model.

Version:

1.04-r5

Date:

2006-11-30 12:41:49 (demx18a6)

Author:

Tom MichaelisSysToMathWittelsbacherstr. 7D-80469 Munich

Contact:

http://www.SysToMath.commailto:[email protected]

This C++ inline file contains inline definitions and declarations implementing the PrintkBin messagemodel. They are declared in the C++ header file printkbinmsg.hpp belonging to the SysToMath ToolAids C++ Library stmtoolaids.

Definition in file xprintkbinmsg.hpp.

#include <stddef.h>

#include <exception>

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 569: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

13.40 xprintkbinmsg.hpp File Reference 568

#include <stm/filesysaids.hpp>

#include <stm/divaids.hpp>

#include <stm/toolaids/binmsg.hpp>

#include <stm/toolaids/impl/toolaidsconfig.hpp>

Include dependency graph for xprintkbinmsg.hpp:

xprintkbinmsg.hpp

stddef.h exception

stm/filesysaids.hpp

stm/divaids.hpp

stm/toolaids/binmsg.hpp

stm/toolaids/impl/toolaidsconfig.hpp

stm/impl/filesysxaids.hpp

assert.h stdio.h string.h ctype.h

errno.hfstream sstream algorithmstdexcept utility

memory iterator

string locale

list map

set

boost/static_assert.hpp

boost/type_traits.hpp

boost/algorithm/string.hpp boost/filesystem/operations.hpp boost/filesystem/path.hpp boost/filesystem/exception.hpp boost/function.hpp boost/bind.hpp

stm/system.h stm/match.h stm/impl/aidsconfig.hppstm/debugaids.hpp

stm/impl/divxaids.hpp

limits.h setjmp.h iomanip functional boost/range.hpp boost/integer.hpp boost/integer_traits.hppboost/integer/static_log2.hpp boost/utility/enable_if.hpp boost/cstdint.hpp

stm/internal/config.h

stm/toolaids/impl/xbinmsg.hpp

This graph shows which files directly or indirectly include this file:

xprintkbinmsg.hpp

printkbinmsg.hpp

toolaids.hpp

Namespaces

• namespace stm• namespace stm::tools• namespace stm::tools::local

Classes

• class stm::tools::local::xPrintkBinMessage< ContextT >

• class stm::tools::local::xPrintkBinMessage< ContextT >::Identification

Defines

• #define STM_TOOLAIDS_XPRINTKBINMSG_HPP

13.40.2 Define Documentation

13.40.2.1 #define STM_TOOLAIDS_XPRINTKBINMSG_HPP

Definition at line 555 of file xprintkbinmsg.hpp.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 570: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14 SysToMath C++ Libraries Implementation Example Documentation 569

14 SysToMath C++ Libraries Implementation Example Documen-tation

14.1 divaidstest.cpp

This example is a CLI based console C++ program demonstrating the usage and testing the implementationof the SysToMath Aids C++ Library module DivAids: Diverse Aids.

/* ***** BEGIN LICENSE BLOCK ****** Version: MPL 1.1/GPL 2.0/LGPL 2.1

** The contents of this file are subject to the Mozilla Public License Version

* 1.1 (the "License"); you may not use this file except in compliance with

* the License. You may obtain a copy of the License at

* http://www.mozilla.org/MPL/

** Software distributed under the License is distributed on an "AS IS" basis,

* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License

* for the specific language governing rights and limitations under the

* License.

** The Original Code is the SysToMath C++ Libraries package (LibStmCpp).

** The Initial Developer of the Original Code is

* Tom Michaelis, SysToMath.

* Portions created by the Initial Developer are Copyright (C) 2006-2008

* the Initial Developer. All Rights Reserved.

** Contributor(s):

** Alternatively, the contents of this file may be used under the terms of

* either the GNU General Public License Version 2 or later (the "GPL"), or

* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),

* in which case the provisions of the GPL or the LGPL are applicable instead

* of those above. If you wish to allow use of your version of this file only

* under the terms of either the GPL or the LGPL, and not to allow others to

* use your version of this file under the terms of the MPL, indicate your

* decision by deleting the provisions above and replace them with the notice

* and other provisions required by the GPL or the LGPL. If you do not delete

* the provisions above, a recipient may use your version of this file under

* the terms of any one of the MPL, the GPL or the LGPL.

** ***** END LICENSE BLOCK ***** */

/******************************************************************************* First Release 2006-11-04

******************************************************************************/

const char *Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath";const char *Version = "1.10-r347";

#include <iostream>#include <stm/divaids.hpp>

int main (int argc, char *argv []){

typedef stm::integral_range<stm::word> Ir;typedef stm::integral_set<Ir> Is;Is is;std::cout << "Is is: is = ’" << is << "’\n";is |= Ir (5, 8);std::cout << "is |= Ir (5, 8): is = ’" << is << "’\n";

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 571: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.2 filesystest.cpp 570

is -= Ir (4, 7);std::cout << "is -= Ir (4, 7): is = ’" << is << "’\n";is |= 88;std::cout << "is |= 88: is = ’" << is << "’\n";is &= Ir (3,88);std::cout << "is &= Ir (3,88): is = ’" << is << "’\n";is ^= Ir (32,78);std::cout << "is ^= Ir (32,78): is = ’" << is << "’\n";is.assign ("7-35, 44-89");std::cout << "is.assign (\"7-35, 44-89\"): is = ’" << is << "’\n";return 0;

}

14.2 filesystest.cpp

This example is a CLI based console C++ program demonstrating the usage and testing the implementationof the SysToMath Aids C++ Library module FilesysAids: File System Aids.

/* ***** BEGIN LICENSE BLOCK ****** Version: MPL 1.1/GPL 2.0/LGPL 2.1

** The contents of this file are subject to the Mozilla Public License Version

* 1.1 (the "License"); you may not use this file except in compliance with

* the License. You may obtain a copy of the License at

* http://www.mozilla.org/MPL/

** Software distributed under the License is distributed on an "AS IS" basis,

* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License

* for the specific language governing rights and limitations under the

* License.

** The Original Code is the SysToMath C++ Libraries package (LibStmCpp).

** The Initial Developer of the Original Code is

* Tom Michaelis, SysToMath.

* Portions created by the Initial Developer are Copyright (C) 2006-2008

* the Initial Developer. All Rights Reserved.

** Contributor(s):

** Alternatively, the contents of this file may be used under the terms of

* either the GNU General Public License Version 2 or later (the "GPL"), or

* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),

* in which case the provisions of the GPL or the LGPL are applicable instead

* of those above. If you wish to allow use of your version of this file only

* under the terms of either the GPL or the LGPL, and not to allow others to

* use your version of this file under the terms of the MPL, indicate your

* decision by deleting the provisions above and replace them with the notice

* and other provisions required by the GPL or the LGPL. If you do not delete

* the provisions above, a recipient may use your version of this file under

* the terms of any one of the MPL, the GPL or the LGPL.

** ***** END LICENSE BLOCK ***** */

/******************************************************************************* First Release 2006-09-24

******************************************************************************/

const char *Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath";const char *Version = "1.10-r347";

static const char *man [] =

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 572: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.2 filesystest.cpp 571

{"NAME "," filesystest - test classes and class templates of stm/filesysaids.hpp "," ","SYNOPSIS "," filesystest [(--option=<flag>)...] [--stem=<spec>] <spec> "," filesystest --help "," filesystest --version "," ","DESCRIPTION "," <flag> is one of "," NoCharClass "," NoBracketExpr "," UseExtRegularExpr "," UseMultipleDirOperator "," NoBraceExpansion "," SingleSpec "," NoDirectories "," NoPlainFiles "," StoreRelative "};

#include <string>#include <iostream>#include <exception>#include <stdexcept>#include <stm/filesysaids.hpp>#include <stm/loggeraids.hpp>#include <stm/getopts.h>

int main (int argc, char *argv []){

typedef stm::logger<> Logger;int ret = 0;Logger logger;logger.setConsole ();

// Prepare the command line.const StmCmdOptSpec optSpec [] ={

{StmId (h), "h\0help\0", StmCmdOptSpecOnlyOption},{StmId (V), "V\0version\0", StmCmdOptSpecOnlyOption},{StmId (f), "f\0flag\0", StmCmdOptSpecRequiresArg},{StmId (s), "s\0stem\0", StmCmdOptSpecRequiresArg},{0, NULL}

};StmCmdLine cmdLine = stmCmdLineCreate (argc, const_cast<const char **> (argv), optSpec);const char *prog = stmCmdLineGetProg (cmdLine);

try{

// Configure stm::rectrl to throw std::logic_error, if appropriate.StmRectrlTry (ErrorEnv);

// Initialize boost::filesystem::path.boost::filesystem::initial_path ();boost::filesystem::path::default_name_check (boost::filesystem::native);

// Evaluate command line options.stm::dword flags = stm::filespec::NoFlags;std::string options;std::string stem;StmDword optId;for (optId = stmCmdLineGetFirstOptionId (cmdLine);

optId;

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 573: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.2 filesystest.cpp 572

optId = stmCmdLineGetNextOptionId (cmdLine)){

if (optId == StmId (h)){

FILE *pp;if (! (pp = popen ("more", "w"))){

throw std::runtime_error (StmDebugAidsErrmsg ("popen failed"));}ret =

stmPrintManual (pp, 79,Version, Copyright, StmElements (man), man) < 0 ?

1 : // Error.2; // Success.

if (pclose (pp)){

throw std::runtime_error (StmDebugAidsErrmsg ("pclose failed"));}return ret;

}if (optId == StmId (V)){

std::cout << Version << std::endl;return 2;

}if (optId == StmId (f)){

std::string flag = stmCmdLineGetCurrentOptionArg (cmdLine);if (!options.empty ()) options += " | ";if (flag == "NoCharClass"){

flags |= stm::filespec::NoCharClass;options += "NoCharClass";continue;

}if (flag == "NoBracketExpr"){

flags |= stm::filespec::NoBracketExpr;options += "NoBracketExpr";continue;

}if (flag == "UseExtRegularExpr"){

flags |= stm::filespec::UseExtRegularExpr;options += "UseExtRegularExpr";continue;

}if (flag == "UseMultipleDirOperator"){

flags |= stm::filespec::UseMultipleDirOperator;options += "UseMultipleDirOperator";continue;

}if (flag == "NoBraceExpansion"){

flags |= stm::filespeclist::NoBraceExpansion;options += "NoBraceExpansion";continue;

}if (flag == "SingleSpec"){

flags |= stm::filespeclist::SingleSpec;options += "SingleSpec";continue;

}if (flag == "NoDirectories"){

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 574: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.2 filesystest.cpp 573

flags |= stm::filefind<>::NoDirectories;options += "NoDirectories";continue;

}if (flag == "NoPlainFiles"){

flags |= stm::filefind<>::NoPlainFiles;options += "NoPlainFiles";continue;

}if (flag == "StoreRelative"){

flags |= stm::filefind<>::StoreRelative;options += "StoreRelative";continue;

}if (stmCmdLinePrintfErrbuf

(cmdLine,"%s: option %s: %s: illegal flag: aborted.\n",prog,stmCmdLineGetCurrentOptionName (cmdLine),flag.c_str ()

) < 0){

throw std::runtime_error (StmDebugAidsErrmsg ("stmCmdLinePrintfErrbuf failed"));}stmCmdLineSetOpterr (cmdLine, StmCmdLineOptionArgError);continue;

}if (optId == StmId (s)){

if (stem.empty ()){

stem = stmCmdLineGetCurrentOptionArg (cmdLine);}else{

if (stmCmdLinePrintfErrbuf(

cmdLine,"%s: option %s is allowed at most once: aborted.\n",prog,stmCmdLineGetCurrentOptionName (cmdLine)

) < 0){

throw std::runtime_error (StmDebugAidsErrmsg ("stmCmdLinePrintfErrbuf failed"));}stmCmdLineSetOpterr (cmdLine, StmCmdLineOptionArgError);

}continue;

}}

// Exit on error.if (stmCmdLineGetOpterr (cmdLine)){

std::string what (stmCmdLineGetErrbuf (cmdLine));if (what.find (prog)){

what = std::string (prog) + ": " + what;}Logger elogger (std::cerr);elogger << what << std::endl;elogger (Logger::AutoInd | Logger::NoPara);stmPrintSynopsis (stderr, 79, StmElements (man), man);return 1;

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 575: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.2 filesystest.cpp 574

}if (stmCmdLineGetArgCount (cmdLine) - stmCmdLineGetCurrentArgIndex (cmdLine) != 1){

Logger elogger (std::cerr);elogger << prog

<< ": exactly one <spec> argument must be supplied: aborted."<< std::endl;

elogger (Logger::AutoInd | Logger::NoPara);stmPrintSynopsis (stderr, 79, StmElements (man), man);return 1;

}

// Do the command operation.logger << " - initial path: "

<< Logger::mkPath (boost::filesystem::initial_path ().string ())<< std::endl;

logger (Logger::Indent | Logger::NoPara);std::string spec =

stmCmdLineGetArg(

cmdLine,stmCmdLineGetCurrentArgIndex (cmdLine)

);logger << " - spec: "

<< spec<< std::endl;

logger (Logger::Indent | Logger::NoPara);logger << " - flags: "

<< (options.empty () ? std::string ("NoFlags") : options)<< std::endl;

logger (Logger::Indent | Logger::NoPara);logger << " - stem: "

<< (stem.empty () ? std::string ("-empty-") : stem)<< std::endl;

logger (Logger::Indent | Logger::NoPara);stm::filefind<> fileFind(

spec,flags,stem

);logger.paragraph ();for (stm::filefind<>::const_iterator it = fileFind.begin ();

it != fileFind.end ();++ it)

{logger << " " << Logger::mkPath (*it) << std::endl;logger (Logger::Indent | Logger::NoPara);

}}catch (std::exception &exc){

ret = 1;std::string what (exc.what ());if (what.empty ()) what = "Unspecified error";else if (what [what.size () - 1] == ’.’) what.erase (what.size () - 1);logger.paragraph ();logger << " - " << what << ": " << prog << " aborted.\n";logger (Logger::Indent | Logger::NoPara);

}catch (...){

ret = 1;logger.paragraph ();logger << " - Unknown error: " << prog << " aborted.\n";logger (Logger::Indent | Logger::NoPara);

}

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 576: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.3 gencrctest.cpp 575

return ret;}

14.3 gencrctest.cpp

This example is a console C++ program demonstrating the usage and testing the implementation of theSysToMath Aids C++ Library module GenCRC: Generic CRC Generation.

/* ***** BEGIN LICENSE BLOCK ****** Version: MPL 1.1/GPL 2.0/LGPL 2.1

** The contents of this file are subject to the Mozilla Public License Version

* 1.1 (the "License"); you may not use this file except in compliance with

* the License. You may obtain a copy of the License at

* http://www.mozilla.org/MPL/

** Software distributed under the License is distributed on an "AS IS" basis,

* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License

* for the specific language governing rights and limitations under the

* License.

** The Original Code is the SysToMath C++ Libraries package (LibStmCpp).

** The Initial Developer of the Original Code is

* Tom Michaelis, SysToMath.

* Portions created by the Initial Developer are Copyright (C) 2003-2008

* the Initial Developer. All Rights Reserved.

** Contributor(s):

** Alternatively, the contents of this file may be used under the terms of

* either the GNU General Public License Version 2 or later (the "GPL"), or

* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),

* in which case the provisions of the GPL or the LGPL are applicable instead

* of those above. If you wish to allow use of your version of this file only

* under the terms of either the GPL or the LGPL, and not to allow others to

* use your version of this file under the terms of the MPL, indicate your

* decision by deleting the provisions above and replace them with the notice

* and other provisions required by the GPL or the LGPL. If you do not delete

* the provisions above, a recipient may use your version of this file under

* the terms of any one of the MPL, the GPL or the LGPL.

** ***** END LICENSE BLOCK ***** */

/******************************************************************************* First Release 2003-03-15

******************************************************************************/

const char *Copyright = "(C) 2003-2008 Tom Michaelis, SysToMath";const char *Version = "1.10-r347";

#include <string>#include <iostream>#include <boost/crc.hpp>#include <stm/divaids.hpp>#include <stm/gencrc.hpp>

int main (int argc, char *argv []){

// Define CRC types.typedef stm::crc<unsigned short> crc16;

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 577: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.3 gencrctest.cpp 576

typedef stm::crc<unsigned int> crc32;

// Buffers to check.std::string hello = "Hello ";std::string world = "world!";

// CRC16 generator polynomial as designated by CCITT (Comitonsultatif// International Tgraphique et Tphonique).crc16 ccittcheck (0x1021, 0xffff);

// CCITT CRC16 check sum of the concatenation of the strings hello and// world.unsigned short ccittCheckSum =

ccittcheck(

ccittcheck(

hello.begin (),hello.end ()

),world.c_str (),world.size ()

);

// CRC16 generator polynomial as used by BISYNCH and ARC.crc16 crc16check (0x8005, 0, true);

// CRC16 check sum of the concatenation of the strings hello and world.unsigned short crc16CheckSum =

crc16check(

crc16check(

hello.begin (),hello.end ()

),world.c_str (),world.size (),true

);

// CRC16 generator polynomial as used by XMODEM.crc16 xmodemcheck (0x8408, 0, true);

// XMODEM check sum of the concatenation of the strings hello and world.unsigned short xmodemCheckSum =

xmodemcheck(

xmodemcheck(

hello.begin (),hello.end ()

),world.c_str (),world.size (),true

);

// Commonly used CRC32 generator polynomial.crc32 crc32check (0x04C11DB7, 0xFFFFFFFF, true);

// CRC32 check sum of the concatenation of the strings hello and world.unsigned int crc32CheckSum =

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 578: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 577

crc32check(

crc32check(

hello.begin (),hello.end ()

),world.c_str (),world.size (),true,0xFFFFFFFF

);

std::string helloWorld = hello + world;boost::crc_ccitt_type boostccitt;boostccitt.process_bytes (helloWorld.c_str (), helloWorld.size ());std::cout << "CCITT: "

<< stm::hexfmt<unsigned short, stm::fmtflags::LowerCase> (ccittCheckSum)<< ", "<< stm::hexfmt<unsigned short, stm::fmtflags::LowerCase> (boostccitt ())<< std::endl;

boost::crc_16_type boostcrc16;boostcrc16.process_bytes (helloWorld.c_str (), helloWorld.size ());std::cout << "CRC16: "

<< stm::hexfmt<unsigned short, stm::fmtflags::LowerCase> (crc16CheckSum)<< ", "<< stm::hexfmt<unsigned short, stm::fmtflags::LowerCase> (boostcrc16 ())<< std::endl;

boost::crc_xmodem_type boostxmodem;boostxmodem.process_bytes (helloWorld.c_str (), helloWorld.size ());std::cout << "XMODEM: "

<< stm::hexfmt<unsigned short, stm::fmtflags::LowerCase> (xmodemCheckSum)<< ", "<< stm::hexfmt<unsigned short, stm::fmtflags::LowerCase> (boostxmodem ())<< std::endl;

boost::crc_32_type boostcrc32;boostcrc32.process_bytes (helloWorld.c_str (), helloWorld.size ());std::cout << "CRC32: "

<< stm::hexfmt<unsigned int, stm::fmtflags::LowerCase> (crc32CheckSum)<< ", "<< stm::hexfmt<unsigned int, stm::fmtflags::LowerCase> (boostcrc32 ())<< std::endl;

return 0;}

14.4 smartptrtest.cpp

This example is a CLI based console C++ program demonstrating the usage and testing the implementationof the SysToMath Aids C++ Library module SmartptrAids: Smart Pointer Aids.

/* ***** BEGIN LICENSE BLOCK ****** Version: MPL 1.1/GPL 2.0/LGPL 2.1

** The contents of this file are subject to the Mozilla Public License Version

* 1.1 (the "License"); you may not use this file except in compliance with

* the License. You may obtain a copy of the License at

* http://www.mozilla.org/MPL/

** Software distributed under the License is distributed on an "AS IS" basis,

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 579: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 578

* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License

* for the specific language governing rights and limitations under the

* License.

** The Original Code is the SysToMath C++ Libraries package (LibStmCpp).

** The Initial Developer of the Original Code is

* Tom Michaelis, SysToMath.

* Portions created by the Initial Developer are Copyright (C) 2006-2008

* the Initial Developer. All Rights Reserved.

** Contributor(s):

** Alternatively, the contents of this file may be used under the terms of

* either the GNU General Public License Version 2 or later (the "GPL"), or

* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),

* in which case the provisions of the GPL or the LGPL are applicable instead

* of those above. If you wish to allow use of your version of this file only

* under the terms of either the GPL or the LGPL, and not to allow others to

* use your version of this file under the terms of the MPL, indicate your

* decision by deleting the provisions above and replace them with the notice

* and other provisions required by the GPL or the LGPL. If you do not delete

* the provisions above, a recipient may use your version of this file under

* the terms of any one of the MPL, the GPL or the LGPL.

** ***** END LICENSE BLOCK ***** */

/******************************************************************************* First Release 2006-09-24

******************************************************************************/

const char *Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath";const char *Version = "1.10-r347";

static const char *man [] ={"NAME "," smartptrtest - test classes and class templates of smartptraids.hpp "," ","SYNOPSIS "," smartptrtest [--load-only] [--type=<test-type>] [--mode=<test-mode>] "," [--archive=<archive-type>] [--dir=<directory>] "," smartptrtest --help [<option-name>...] "," smartptrtest --version "," ","DESCRIPTION "," The command ’smartptrtest’ tests classes and class templates of the "" SysToMath library ’libstmaids’ declared in the C++ header file "" ’stm/smartptraids.hpp’. "," Unless option --load-only is used, at first boost serialization "" archives of the types configured by option --archive containing "" reference data of test types selected by option --type in the modes "" given by option --mode are created. Then these archives are loaded "" and their contents are compared with the reference data used to create"" the archives. "," The archive files are stored in the directory supplied by option --dir"" and are named ’test-<test-mode>_<test-type>.<archive-type>’. "," The test protocol is written to standard output. "" ","OPTIONS "," --help "," -h If no argument <option-name> follows, print the command man "" page on standard output, else the description of the options "" <option-name> and exit with exit code 2. The arguments "" <option-name> shall be stated without leading ’-’ or ’--’. "," ",

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 580: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 579

" --version "," -V Print version info on standard output and exit with exit code "" 2. "," "," --load-only "," -l "," Do not create boost serialization archives before loading them."" Assume that the archives to be loaded already exist. "," By default all archives needed are created before loading them "" again. "," "," --type=<test-type> "," -t test-type "," Test type templates to be handled: <test-type> is one of the "" following arguments: "," ’ptr’: TestPtr test type template "," ’set’: TestSet test type template, "," ’all’: all of the above test type templates (default). "," "," --mode=<test-mode> "," -m test-mode "," Test modes to be handled: <test-mode> is one of the following "" arguments: "," ’injective’ or ’inj’: injective_ptr based test mode, "," ’bijective’ or ’bij’: bijective_ptr based test mode, "," ’all’: all of the above test modes (default). "," "," --archive=<archive-type> "," -a <archive-type> "," Boost serialization archive types to be handled: <archive-type>"" is one of the following arguments: "," ’txt’: text archive type "," ’bin’: binary archive type, "," ’xml’: XML archive type, "," ’all’: all of the above archive types (default). "," "," --dir=<directory> "," -d <directory> "," Set <directory> as the directory where archive files are "" created and loaded from. By default this is the current "" directory. "};

#include <string>#include <iostream>#include <exception>#include <stdexcept>

#include <stm/smartptraids.hpp>#include <stm/filesysaids.hpp>#include <stm/divaids.hpp>#include <stm/debugaids.hpp>#include <stm/loggeraids.hpp>#include <stm/getopts.h>

// Example for stm::injective_ptr showing the definition of a pointer// variable of an incomplete element type.struct Xyz;typedef stm::injective_ptr<Xyz> XyzPtr; // Xyz needs not be complete here.XyzPtr ptr1; // Xyz needs not be complete here.

bool operator< (const Xyz &e1, const Xyz &e2);

struct Xyz{

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 581: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 580

Xyz (stm::dword id = 0, XyzPtr ptr = XyzPtr ()) :id (id),ptr (ptr)

{}

stm::dword id;XyzPtr ptr;

};

XyzPtr ptr2 = Xyz (3); // Xyz has to be complete here.Xyz xyz1 = *ptr2;Xyz xyz2 (7, ptr1);const Xyz *p = xyz2.ptr.get ();

bool operator< (const Xyz &e1, const Xyz &e2){

returne1.id < e2.id ||e1.id == e2.id && e1.ptr < e2.ptr;

}

// Example for stm::injective_set showing the definition of a set// variable of an incomplete value type.class Node;typedef stm::bijective<Node>::set NodeSet; // Node needs not be complete here.NodeSet nodes; // Node needs not be complete here.

class Slot{public:

Slot (stm::dword disp = 0) :disp_ (disp)

{}

Slot child (stm::dword index) const{

return children_ [index];}

stm::dword disp (stm::dword index) const{

return children_ [index].disp_;}

bool operator< (const Slot &other) const{

returnchildren_.size () < other.children_.size () ||children_.size () == other.children_.size () &&disp_ < other.disp_;

}

private:std::vector<Slot> children_;stm::dword disp_;

};

class Node{public:

typedef NodeSet::accessor Ptr;

Node (const Slot &root) :index_ (0),slot_ (root),offset_ (0)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 582: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 581

{}

Node (Ptr parent, stm::dword index) :parent_ (parent),index_ (index)

{StmDebugAidsVerify (parent_);slot_ = parent_ -> slot ().child (index_);offset_ = parent_ -> offset () + parent_ -> slot ().disp (index_);

}

const Slot &slot () const{

return slot_;}

stm::dword offset () const{

return offset_;}

bool operator< (const Node &other) const{

returnoffset () < other.offset () ||offset () == other.offset () &&slot () < other.slot ();

}

private:Ptr parent_;stm::dword index_;Slot slot_;stm::dword offset_;

};

Slot rootSlot;Node::Ptr rootNode = nodes.insert (Node (rootSlot)); // Node must be complete here.

// Functional tests.struct Operation{

struct Type{

enum{

Ptr = 0x00000001,Set = 0x00000002,All = Ptr | Set

};};

struct Mode{

enum{

Inj = 0x00000001,Bij = 0x00000002,All = Inj | Bij

};};

struct Archive{

enum{

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 583: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 582

Txt = 0x00000001,Bin = 0x00000002,Xml = 0x00000004,All = Txt | Bin | Xml

};};

Operation () :loadOnly (false),type (Type::All),mode (Mode::All),archive (Archive::All),dir (boost::filesystem::initial_path ())

{}

bool loadOnly;stm::dword type;stm::dword mode;stm::dword archive;stm::path<> dir;

};

template <class Policy>struct TestPtr{

typedef typename stm::injective<

stm::dword,std::less<stm::dword>,std::allocator<stm::dword>,Policy

>::ptr DwordPtr;

typedef typename stm::injective<

std::string,std::less<std::string>,std::allocator<std::string>,Policy

>::ptr StrPtr;

TestPtr () {}

TestPtr(

stm::dword dw0,stm::dword dw1,const std::string &str0,const std::string &str1

) :dwptr0 (dw0),dwptr1 (dw1),strptr0 (str0),strptr1 (str1)

{strptr2 = strptr0;

}

template <class ArchiveT>void save (const std::string &file) const{

std::ofstream ofs (file.c_str ());ArchiveT oa (ofs);oa << BOOST_SERIALIZATION_NVP (dwptr0);oa << BOOST_SERIALIZATION_NVP (dwptr1);oa << BOOST_SERIALIZATION_NVP (strptr0);

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 584: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 583

oa << BOOST_SERIALIZATION_NVP (strptr1);oa << BOOST_SERIALIZATION_NVP (strptr2);return;

}

template <class ArchiveT>void load (const std::string &file){

std::ifstream ifs (file.c_str ());ArchiveT ia (ifs);ia >> BOOST_SERIALIZATION_NVP (dwptr0);ia >> BOOST_SERIALIZATION_NVP (dwptr1);ia >> BOOST_SERIALIZATION_NVP (strptr0);ia >> BOOST_SERIALIZATION_NVP (strptr1);ia >> BOOST_SERIALIZATION_NVP (strptr2);return;

}

void tell (const std::string &title) const{

std::cout << title<< std::endl;

if (dwptr0){

std::cout << " DwordPtr dwptr0: value = "<< *dwptr0<< ", addr = "<< dwptr0<< std::endl;

}if (dwptr1){

std::cout << " DwordPtr dwptr1: value = "<< *dwptr1<< ", addr = "<< dwptr1<< std::endl;

}if (strptr0){

std::cout << " StrPtr strptr0: str = ’"<< *strptr0<< "’, len = "<< stm::dword (strptr0 -> size ())<< ", addr = "<< strptr0<< std::endl;

}if (strptr1){

std::cout << " StrPtr strptr1: str = ’"<< *strptr1<< "’, len = "<< stm::dword (strptr1 -> size ())<< ", addr = "<< strptr1<< std::endl;

}if (strptr2){

std::cout << " StrPtr strptr2: str = ’"<< *strptr2<< "’, len = "<< stm::dword (strptr2 -> size ())<< ", addr = "<< strptr2<< std::endl;

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 585: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 584

}const typename DwordPtr::range_type &dwRange = dwptr0.range ();StmDebugAidsVerify (dwptr1.range () == dwRange);std::cout << " DwordPtr range: addr = "

<< stm::hexfmt<const typename DwordPtr::range_type *> (&dwRange)<< ", "<< stm::dword (dwRange.size ())<< (dwRange.size () ?

dwRange.size () > 1 ? " entries:" :" entry:" : " entries")

<< std::endl;for (typename DwordPtr::range_type::iterator it = dwRange.begin ();

it != dwRange.end ();++ it)

{std::cout << " value = "

<< *it<< ", addr = "<< stm::hexfmt<const stm::dword *> (&*it)<< std::endl;

}const typename StrPtr::range_type &strRange = strptr0.range ();StmDebugAidsVerify (strptr1.range () == strRange);StmDebugAidsVerify (strptr2.range () == strRange);std::cout << " StrPtr range: addr = "

<< stm::hexfmt<const typename StrPtr::range_type *> (&strRange)<< ", "<< stm::dword (strRange.size ())<< (strRange.size () ?

strRange.size () > 1 ? " entries:" :" entry:" : " entries")

<< std::endl;for (typename StrPtr::range_type::iterator it = strRange.begin ();

it != strRange.end ();++ it)

{std::cout << " value = ’"

<< *it<< "’, addr = "<< stm::hexfmt<const std::string *> (&*it)<< std::endl;

}std::cout << std::endl;return;

}

bool operator== (const TestPtr &other){

return

*dwptr0 == *other.dwptr0 &&

*dwptr1 == *other.dwptr1 &&

*strptr0 == *other.strptr0 &&

*strptr1 == *other.strptr1 &&

*strptr2 == *other.strptr2;}

DwordPtr dwptr0;DwordPtr dwptr1;StrPtr strptr0;StrPtr strptr1;StrPtr strptr2;

};

template <class Policy>void testptr (const Operation &op);

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 586: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 585

template <class Policy>struct TestSet{

typedef typename stm::injective<

stm::dword,std::less<stm::dword>,std::allocator<stm::dword>,Policy

>::set DwordSet;

typedef typename stm::injective<

std::string,std::less<std::string>,std::allocator<std::string>,Policy

>::set StrSet;

TestSet () :dwset (),strset (),dwptr0 (dwset.nil ()),dwptr1 (dwset.nil ()),strptr0 (strset.nil ()),strptr1 (strset.nil ())

{}

void define(

stm::dword dw0 = 0,stm::dword dw1 = 0,const std::string &str0 = std::string (),const std::string &str1 = std::string ()

){

dwptr0 = dwset.insert (dw0);dwptr1 = dwset.insert (dw1);strptr0 = strset.insert (str0);strptr1 = strset.insert (str1);long str0count = strptr0.use_count ();{

bool inserted = true;typename StrSet::accessor strptr2 = strset.insert (str0, inserted);StmDebugAidsVerify (dwptr0 && *dwptr0 == dw0);StmDebugAidsVerify (dwptr1 && *dwptr1 == dw1);StmDebugAidsVerify (strptr0 && *strptr0 == str0);StmDebugAidsVerify (strptr1 && *strptr1 == str1);StmDebugAidsVerify (strptr2.get () == strptr0.get () && !inserted);StmDebugAidsVerify (!StrSet::accessor::is_surjective () ||

strptr0.use_count () == str0count + 1);}StmDebugAidsVerify (!StrSet::accessor::is_surjective () ||

strptr0.use_count () == str0count);return;

}

template <class ArchiveT>void save (const std::string &file) const{

std::ofstream ofs (file.c_str ());ArchiveT oa (ofs);oa << BOOST_SERIALIZATION_NVP (dwptr0);oa << BOOST_SERIALIZATION_NVP (dwptr1);oa << BOOST_SERIALIZATION_NVP (strptr0);oa << BOOST_SERIALIZATION_NVP (strptr1);

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 587: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 586

return;}

template <class ArchiveT>void load (const std::string &file){

std::ifstream ifs (file.c_str ());ArchiveT ia (ifs);ia >> BOOST_SERIALIZATION_NVP (dwptr0);ia >> BOOST_SERIALIZATION_NVP (dwptr1);ia >> BOOST_SERIALIZATION_NVP (strptr0);ia >> BOOST_SERIALIZATION_NVP (strptr1);return;

}

void tell (const std::string &title) const{

std::cout << title<< std::endl;

if (strptr0){

typename StrSet::accessor strptr2 = strset.find (*strptr0);StmDebugAidsVerify (strptr2);StmDebugAidsVerify (*strptr2 == *strptr0);

}if (dwptr0){

std::cout << " DwordSet::accessor dwptr0: value = "<< *dwptr0<< ", addr = "<< stm::hexfmt<const stm::dword *> (dwptr0.get ())<< std::endl;

}if (dwptr1){

std::cout << " DwordSet::accessor dwptr1: value = "<< *dwptr1<< ", addr = "<< stm::hexfmt<const stm::dword *> (dwptr1.get ())<< std::endl;

}if (strptr0){

std::cout << " StrSet::accessor strptr0: str = ’"<< *strptr0<< "’, len = "<< stm::dword (strptr0 -> size ())<< ", addr = "<< stm::hexfmt<const std::string *> (strptr0.get ())<< std::endl;

}if (strptr1){

std::cout << " StrSet::accessor strptr1: str = ’"<< *strptr1<< "’, len = "<< stm::dword (strptr1 -> size ())<< ", addr = "<< stm::hexfmt<const std::string *> (strptr1.get ())<< std::endl;

}std::cout << " dwset: addr = "

<< stm::hexfmt<const DwordSet *> (&dwset)<< ", "<< stm::dword (dwset.size ())<< (dwset.size () ? dwset.size () > 1 ? " entries:" : " entry:" : " entries")<< std::endl;

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 588: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 587

for (typename DwordSet::range_type::iterator it = dwset.begin ();it != dwset.end ();++ it)

{std::cout << " value = "

<< *it<< ", addr = "<< stm::hexfmt<const stm::dword *> (&*it)<< std::endl;

}std::cout << " strset: addr = "

<< stm::hexfmt<const StrSet *> (&strset)<< ", "<< stm::dword (strset.size ())<< (strset.size () ? strset.size () > 1 ? " entries:" : " entry:" : " entries")<< std::endl;

for (typename StrSet::range_type::iterator it = strset.begin ();it != strset.end ();++ it)

{std::cout << " value = ’"

<< *it<< "’, addr = "<< stm::hexfmt<const std::string *> (&*it)<< std::endl;

}std::cout << std::endl;return;

}

bool operator== (const TestSet &other){

returndwptr0 == other.dwptr0 &&dwptr1 == other.dwptr1 &&strptr0 == other.strptr0 &&strptr1 == other.strptr1;

}

DwordSet dwset;StrSet strset;typename DwordSet::accessor dwptr0;typename DwordSet::accessor dwptr1;typename StrSet::accessor strptr0;typename StrSet::accessor strptr1;

};

template <class Policy>void testset (const Operation &op);

int main (int argc, char *argv []){

int ret = 0;typedef stm::logger<> Logger;Logger logger;logger.setConsole ();

// Prepare the command line.const StmCmdOptSpec optSpec [] ={

{StmId (h), "h\0help\0", StmCmdOptSpecOnlyOption},{StmId (V), "V\0version\0", StmCmdOptSpecOnlyOption},{StmId (l), "l\0load-only\0"},{StmId (t), "t\0type\0", StmCmdOptSpecRequiresArg},{StmId (m), "m\0mode\0", StmCmdOptSpecRequiresArg},

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 589: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 588

{StmId (a), "a\0archive\0", StmCmdOptSpecRequiresArg},{StmId (t), "d\0dir\0", StmCmdOptSpecRequiresArg},{0, NULL}

};StmCmdLine cmdLine = stmCmdLineCreate (argc, const_cast<const char **> (argv), optSpec);const char *prog = stmCmdLineGetProg (cmdLine);

try{

// Initialize boost::filesystem::path.boost::filesystem::initial_path ();boost::filesystem::path::default_name_check (boost::filesystem::native);

// Evaluate command line options.StmDword optId;bool printHelp = false;bool printVersion = false;Operation op;for (optId = stmCmdLineGetFirstOptionId (cmdLine);

optId;optId = stmCmdLineGetNextOptionId (cmdLine))

{if (optId == StmId (h)){

printHelp = true;continue;

}if (optId == StmId (V)){

printVersion = true;continue;

}if (optId == StmId (l)){

op.loadOnly = true;continue;

}if (optId == StmId (t)){

const char *optarg = stmCmdLineGetCurrentOptionArg (cmdLine);StmDebugAidsVerify (optarg);if (!strcmp (optarg, "ptr")){

op.type = Operation::Type::Ptr;}else if (!strcmp (optarg, "set")){

op.type = Operation::Type::Set;}else if (!strcmp (optarg, "all")){

op.type = Operation::Type::All;}else{

if (stmCmdLinePrintfErrbuf(

cmdLine,"%s: option %s: ""’%s’ designates no legal test type: aborted.\n",prog,stmCmdLineGetCurrentOptionName (cmdLine),optarg

) < 0){

throw std::runtime_error(

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 590: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 589

StmDebugAidsErrmsg ("stmCmdLinePrintfErrbuf failed"));

}stmCmdLineSetOpterr (cmdLine, StmCmdLineOptionArgError);

}continue;

}if (optId == StmId (m)){

const char *optarg = stmCmdLineGetCurrentOptionArg (cmdLine);StmDebugAidsVerify (optarg);if (!strcmp (optarg, "inj") || !strcmp (optarg, "injective")){

op.mode = Operation::Mode::Inj;}if (!strcmp (optarg, "bij") || !strcmp (optarg, "bijective")){

op.mode = Operation::Mode::Bij;}else if (!strcmp (optarg, "all")){

op.mode = Operation::Mode::All;}else{

if (stmCmdLinePrintfErrbuf(

cmdLine,"%s: option %s: ""’%s’ designates no legal test type: aborted.\n",prog,stmCmdLineGetCurrentOptionName (cmdLine),optarg

) < 0){

throw std::runtime_error(

StmDebugAidsErrmsg ("stmCmdLinePrintfErrbuf failed"));

}stmCmdLineSetOpterr (cmdLine, StmCmdLineOptionArgError);

}continue;

}if (optId == StmId (a)){

const char *optarg = stmCmdLineGetCurrentOptionArg (cmdLine);StmDebugAidsVerify (optarg);if (!strcmp (optarg, "txt")){

op.archive = Operation::Archive::Txt;}else if (!strcmp (optarg, "bin")){

op.archive = Operation::Archive::Bin;}else if (!strcmp (optarg, "xml")){

op.archive = Operation::Archive::Xml;}else if (!strcmp (optarg, "all")){

op.archive = Operation::Archive::All;}else{

if (stmCmdLinePrintfErrbuf

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 591: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 590

(cmdLine,"%s: option %s: ""’%s’ designates no legal archive type: aborted.\n",prog,stmCmdLineGetCurrentOptionName (cmdLine),optarg

) < 0){

throw std::runtime_error(

StmDebugAidsErrmsg ("stmCmdLinePrintfErrbuf failed"));

}stmCmdLineSetOpterr (cmdLine, StmCmdLineOptionArgError);

}continue;

}if (optId == StmId (d)){

const char *optarg = stmCmdLineGetCurrentOptionArg (cmdLine);StmDebugAidsVerify (optarg);op.dir = optarg;if (!boost::filesystem::exists (op.dir) ||

!boost::filesystem::is_directory (op.dir)){

if (stmCmdLinePrintfErrbuf(

cmdLine,"%s: option %s: ""’%s’ designates no accessible directory: aborted.\n",prog,stmCmdLineGetCurrentOptionName (cmdLine),optarg

) < 0){

throw std::runtime_error(

StmDebugAidsErrmsg ("stmCmdLinePrintfErrbuf failed"));

}stmCmdLineSetOpterr (cmdLine, StmCmdLineOptionArgError);

}continue;

}}

// Exit on option error.if (stmCmdLineGetOpterr (cmdLine)){

std::string what (stmCmdLineGetErrbuf (cmdLine));if (what.find (prog)){

what = std::string (prog) + ": " + what;}Logger elogger (std::cerr);elogger << what << std::endl;elogger (Logger::AutoInd | Logger::NoPara);stmPrintSynopsis (stderr, 79, StmElements (man), man);return 1;

}

// Handle help option.if (printHelp){

FILE *pp;ret = 2;

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 592: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 591

if (! (pp = popen ("more", "w"))){

throw std::runtime_error(

StmDebugAidsErrmsg ("popen failed"));

}if (stmCmdLineGetCurrentArgIndex (cmdLine) ==

stmCmdLineGetArgCount (cmdLine)){

ret =stmPrintManual(

pp,79,Version,Copyright,StmElements (man),man

) < 0 ?1 : // Error.2; // Success.

}else{

if ((ret = stmPrintManualHeader(

pp,79,Version,StmElements (man),man

)) >= 0 &&(ret = stmPrintSynopsis

(pp,79,StmElements (man),man

)) >= 0){

bool first = true;for (size_t i = stmCmdLineGetCurrentArgIndex (cmdLine);

i < stmCmdLineGetArgCount (cmdLine);++ i)

{fprintf (pp, "\n");if (first){

fprintf (pp, "OPTIONS HELP\n");first = false;

}if ((ret = stmPrintOptionHelp

(pp,79,stmCmdLineGetArg (cmdLine, i),StmElements (man),man

)) < 0){

break;}

}}ret =

ret < 0 ||

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 593: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 592

(ret = stmPrintManualFooter(

pp,79,ret,Copyright

)) < 0 ?1 : // Error.2; // Success.

}if (pclose (pp)){

throw std::runtime_error(

StmDebugAidsErrmsg ("pclose failed"));

}return ret;

}

// Handle print versionif (printVersion){

std::cout << Version << std::endl;return 2;

}

if (stmCmdLineGetArgCount (cmdLine) -stmCmdLineGetCurrentArgIndex (cmdLine) != 0)

{if (stmCmdLinePrintfErrbuf

(cmdLine,"%s: for now no arguments are allowed: aborted",prog

) < 0){

throw std::runtime_error(

StmDebugAidsErrmsg ("stmCmdLinePrintfErrbuf failed"));

}stmCmdLineSetOpterr (cmdLine, StmCmdLineOptionArgError);

}

// Exit on error.if (stmCmdLineGetOpterr (cmdLine)){

std::string what (stmCmdLineGetErrbuf (cmdLine));if (what.find (prog)){

what = std::string (prog) + ": " + what;}Logger elogger (std::cerr);elogger << what << std::endl;elogger (Logger::AutoInd | Logger::NoPara);stmPrintSynopsis (stderr, 79, StmElements (man), man);return 1;

}

// Do the command operation.if (op.type & Operation::Type::Ptr){

if (op.mode & Operation::Mode::Inj){

testptr<stm::smartptr::policy<> > (op);}

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 594: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 593

if (op.mode & Operation::Mode::Bij){

testptr<stm::smartptr::policy<stm::smartptr::Surjective> > (op);}

}if (op.type & Operation::Type::Set){

if (op.mode & Operation::Mode::Inj){

testset<stm::smartptr::policy<> > (op);}if (op.mode & Operation::Mode::Bij){

testset<stm::smartptr::policy<stm::smartptr::Surjective> > (op);}

}}catch (std::exception &exc){

ret = 1;std::string what (exc.what ());if (what.empty ()) what = "Unspecified error";else if (what [what.size () - 1] == ’.’) what.erase (what.size () - 1);logger.paragraph ();logger << " - " << what << ": " << prog << " aborted.\n";logger (Logger::Indent | Logger::NoPara);

}catch (...){

ret = 1;logger.paragraph ();logger << " - Unknown error: " << prog << " aborted.\n";logger (Logger::Indent | Logger::NoPara);

}stmCmdLineDestroy (cmdLine);return ret;

}

template <class Policy>void testptr (const Operation &op){

TestPtr<Policy> test, tref (87654321, 12345678, "zzz", "yyy");

std::string type = Policy::surjective::value ? "bijective_ptr" : "injective_ptr";stm::path<> astub = op.dir / ("test-" + type);std::string title = "Testing type " + type;if (op.loadOnly){

title += " (loadonly)";}else{

const TestPtr<Policy> &t = tref;if (op.archive & Operation::Archive::Txt){

t.template save<boost::archive::text_oarchive> (astub.string () + ".txt");}if (op.archive & Operation::Archive::Bin){

t.template save<boost::archive::binary_oarchive> (astub.string () + ".bin");}if (op.archive & Operation::Archive::Xml){

t.template save<boost::archive::xml_oarchive> (astub.string () + ".xml");}

}

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 595: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.4 smartptrtest.cpp 594

std::cout << title + "\n" + std::string (title.size (), ’=’) + "\n\n";

test.tell ("Test item (initially empty)");tref.tell ("Reference item");

if (op.archive & Operation::Archive::Txt){

test.template load<boost::archive::text_iarchive> (astub.string () + ".txt");test.tell ("Test item (loaded from text archive)");StmDebugAidsVerify (test == tref);

}

if (op.archive & Operation::Archive::Bin){

test.template load<boost::archive::binary_iarchive> (astub.string () + ".bin");test.tell ("Test item (loaded from binary archive)");StmDebugAidsVerify (test == tref);

}

if (op.archive & Operation::Archive::Xml){

test.template load<boost::archive::xml_iarchive> (astub.string () + ".xml");test.tell ("Test item (loaded from XML archive)");StmDebugAidsVerify (test == tref);

}

std::cout << std::endl;return;

}

template <class Policy>void testset (const Operation &op){

TestSet<Policy> test, tref;tref.define (87654321, 12345678, "zzz", "yyy");

std::string type = Policy::surjective::value ? "bijective_set" : "injective_set";stm::path<> astub = op.dir / ("test-" + type);std::string title = "Testing type " + type;if (op.loadOnly){

title += " (loadonly)";}else{

test.define (*tref.dwptr0, *tref.dwptr1, *tref.strptr0, *tref.strptr1);const TestSet<Policy> &t = test;if (op.archive & Operation::Archive::Txt){

t.template save<boost::archive::text_oarchive> (astub.string () + ".txt");}if (op.archive & Operation::Archive::Bin){

t.template save<boost::archive::binary_oarchive> (astub.string () + ".bin");}if (op.archive & Operation::Archive::Xml){

t.template save<boost::archive::xml_oarchive> (astub.string () + ".xml");}test.define ();

}std::cout << title + "\n" + std::string (title.size (), ’=’) + "\n\n";

test.tell ("Test item (initially empty)");tref.tell ("Reference item");

if (op.archive & Operation::Archive::Txt)

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 596: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 595

{test.template load<boost::archive::text_iarchive> (astub.string () + ".txt");test.tell ("Test item (loaded from text archive)");StmDebugAidsVerify (test == tref);

}

if (op.archive & Operation::Archive::Bin){

test.template load<boost::archive::binary_iarchive> (astub.string () + ".bin");test.tell ("Test item (loaded from binary archive)");StmDebugAidsVerify (test == tref);

}

if (op.archive & Operation::Archive::Xml){

test.template load<boost::archive::xml_iarchive> (astub.string () + ".xml");test.tell ("Test item (loaded from XML archive)");StmDebugAidsVerify (test == tref);

}

std::cout << std::endl;return;

}

14.5 sudoku.cpp

This example is a CLI based console C++ program demonstrating the usage and testing the implementationof the SysToMath Aids C++ Library stmaids.

/* ***** BEGIN LICENSE BLOCK ****** Version: MPL 1.1/GPL 2.0/LGPL 2.1

** The contents of this file are subject to the Mozilla Public License Version

* 1.1 (the "License"); you may not use this file except in compliance with

* the License. You may obtain a copy of the License at

* http://www.mozilla.org/MPL/

** Software distributed under the License is distributed on an "AS IS" basis,

* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License

* for the specific language governing rights and limitations under the

* License.

** The Original Code is the SysToMath C++ Libraries package (LibStmCpp).

** The Initial Developer of the Original Code is

* Tom Michaelis, SysToMath.

* Portions created by the Initial Developer are Copyright (C) 2006-2008

* the Initial Developer. All Rights Reserved.

** Contributor(s):

** Alternatively, the contents of this file may be used under the terms of

* either the GNU General Public License Version 2 or later (the "GPL"), or

* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),

* in which case the provisions of the GPL or the LGPL are applicable instead

* of those above. If you wish to allow use of your version of this file only

* under the terms of either the GPL or the LGPL, and not to allow others to

* use your version of this file under the terms of the MPL, indicate your

* decision by deleting the provisions above and replace them with the notice

* and other provisions required by the GPL or the LGPL. If you do not delete

* the provisions above, a recipient may use your version of this file under

* the terms of any one of the MPL, the GPL or the LGPL.

** ***** END LICENSE BLOCK ***** */

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 597: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 596

/******************************************************************************* First Release 2006-08-05

******************************************************************************/

const char *Copyright = "(C) 2006-2008 Tom Michaelis, SysToMath";const char *Version = "1.10-r347";

static const char *man [] ={"NAME "," sudoku - generate and/or solve a sudoku "," ","SYNOPSIS "," sudoku [--silent] "," ([--generate=<dim>] | "," [--gen-only=<dim>] | "," [--input=<file> [--solution=(first|random|unique)]]) "," [--output=<file>] "," sudoku --help [<option-name>...] "," sudoku --version "," ","DESCRIPTION "," The command solves a sudoku which it either generates or reads from "" its input. Unless suppresed by option --gen-only, the sudoku is "" solved according to option --choice, if applicable. The resulting "" sudoku either solved or not is written to the output. "," The input format is ASCII based. Empty lines and line parts after the"" comment character ’#’ are ignored. "," The first relevant file entry shall be a decimal number in the range "" [2, 10] which defines the dimension n of the sudoku. After that n^4 "" decimal numbers in the range [0, n] shall follow. The numbers shall "" be separated by whitespace or comments as stated above. The number 0 "" designates the positions to determine for the solution. "," On success the command returns with exit code 0. If a usage or "" processing error occurred, the exit code is 1. "," ","OPTIONS "," --help "," -h If no argument <option-name> follows, print the command man "" page on standard output, else the description of the options "" <option-name> and exit with exit code 2. The arguments "" <option-name> shall be stated without leading ’-’ or ’--’. "," "," --version "," -V Print version info on standard output and exit with exit code "" 2. "," "," --silent "," -s Suppress all diagnostic messages on stdout and stderr. "," "," --generate=<dim> "," --gen=<dim> "," -g <dim> "," Generate the sudoku to be solved with dimension <dim> in the "" range [2, 10] instead of reading it from the input and solve "" it. This option is mutually exclusive to the options --input "" and --gen-only. "," "," --gen-only <dim> "," -G <dim> "," Generate the sudoku to be solved with dimension <dim> in the "" range [2, 10] instead of reading it from the input without "" solving it. This option is mutually exclusive to the options "" --input and --generate. "," "," --input=<file> ",

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 598: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 597

" -i <file> "," Read the sudoku to be solved from <file> and solve it. The "" default input is stdin. This option is mutually exclusive to "" the options --generate and --gen-only. "," "," --solution=(first|random|unique) "," -S (first|random|unique) "," Determines the output, if the sudoku read with option --input "" is not uniquely solvable. Unless the option argument is "" ’unique’, according to the option argument the first or a "" randomly chosen solution constitutes the output. If the option"" argument is ’unique’, the non-null output elements are exactly "" those belonging to each possible solution. The default "" behaviour is --solution=first. "," As this option is only allowed in conjunction with option "" --input, it is mutually exclusive to the options --generate and"" --gen-only. "," "," --output=<file> "," -o <file> "," Write the output to <file>. The default output is stdout. If "" this option is the last one, the option specification --output="" or -o can be omitted for convenience. "};

#ifdef _MSC_VER// Disable warnings about potential loss of data when converting to int.// This is needed for posix_time.hpp#pragma warning (disable : 4244)#endif // _MSC_VER

#include <stdio.h>#include <stdlib.h>#include <stdarg.h>#include <time.h>#include <errno.h>#include <ctype.h>#include <limits.h>#include <exception>#include <stdexcept>#include <algorithm>#include <vector>#include <set>#include <boost/utility.hpp>#include <boost/shared_ptr.hpp>#include <boost/date_time/posix_time/posix_time.hpp>#include <stm/getopts.h>#include <stm/dvec.h>#include <stm/aids.hpp>

class Sudoku : boost::noncopyable{public:

enum{

FirstSolution,RandomSolution,UniqueSolution

};

Sudoku (bool silent = false);

int generate (stm::word dim);

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 599: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 598

int read (FILE *input);

int test () const;

int solve (stm::dword solution = FirstSolution);

int write (FILE *output) const;

private:// Forward reference.class State;friend class State;typedef boost::shared_ptr<State> StatePtr;

int init ();

StatePtr state;

bool silent;stm::word n;stm::word n2;stm::word n3;stm::word n4;std::vector<std::vector<stm::word> > row;std::vector<std::vector<stm::word> > col;std::vector<std::vector<stm::word> > sub;

};

class Sudoku::State{

friend class Sudoku;

private:State (const Sudoku &sudoku) :

sudoku (sudoku){

a.resize (sudoku.n4, 0);pot.resize (sudoku.n4);init ();

}

int solve (stm::dword solution);

int read (const char *input);

bool test () const;

void init ();

int generate ();

stm::word getRow (stm::word k) const{

return k / sudoku.n2;}

stm::word getCol (stm::word k) const{

return k % sudoku.n2;}

stm::word getSub (stm::word k) const{

return(getRow (k) / sudoku.n ) * sudoku.n +(getCol (k) / sudoku.n) % sudoku.n;

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 600: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 599

}

bool define (stm::byte el, stm::word k);

void undefine (stm::word k);

void restore (State &other){

u = other.u;a = other.a;pot = other.pot;

}

static stm::word randomVal (stm::word limit){

StmDebugAidsVerify (limit);return rand () % limit;

}

const Sudoku &sudoku;

stm::word u;std::vector<stm::byte> a;std::vector<std::set<stm::byte> > pot;

};

int main (int argc, char **argv);

Sudoku::Sudoku (bool silent) :n (0),silent (silent),state ()

{// Seed the random number generator.srand(

boost::posix_time::microsec_clock::local_time ().time_of_day ().total_microseconds ()

);}

int Sudoku::generate (stm::word dim){

n = dim;if (init () < 0){

return -1;}state = StatePtr (new State (*this));return state -> generate ();

}

int Sudoku::read (FILE *input){

int ret = 0;if (!input){

errno = EINVAL;return -1;

}char *numbers = NULL;int offs = 0;

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 601: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 600

for (char *str = NULL;str = stmFgetDstr (input, str, StmFgdPreserveNl, StmFgdAppend);numbers = str)

{char *comment = strchr (str + offs, ’#’);if (comment){

*comment ++ = ’\n’;if (! (str = stmDstrDel (str, unsigned (comment - str), 0))){

return -1;}

}offs = stmDstrLen (str);

}if (feof (input)){

char *rest;unsigned long dim = strtoul (numbers, &rest, 10);if (dim == ULONG_MAX || !isspace (*rest)){

errno = EIO;ret = -1;

}else{

n = dim;if (init () < 0){

ret = -1;}else{

state = StatePtr (new State (*this));if (state -> read (rest) < 0){

ret = -1;}

}}

}else{

if (!ferror (input)){

numbers = NULL;}ret = -1;

}stmDvecFree (numbers);return ret;

}

int Sudoku::init (){

if (n < 1 || n > 10){

errno = ERANGE;return -1;

}n2 = n * n;n3 = n * n2;n4 = n2 * n2;row.resize (n2);col.resize (n2);sub.resize (n2);

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 602: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 601

for (stm::word i = 0; i < n2; ++ i){

row [i].resize (n2);col [i].resize (n2);sub [i].resize (n2);for (stm::word j = 0; j < n2; ++ j){

row [i] [j] = i * n2 + j;col [i] [j] = j * n2 + i;sub [i] [j] = (i / n) * n3 + (j / n) * n2 + (i % n) * n + j % n;

}}return 0;

}

int Sudoku::test () const{

if (!state){

errno = EINVAL;return -1;

}return

state -> test () ?int (state -> u) :-1;

}

int Sudoku::solve (stm::dword solution){

if (!state || solution > UniqueSolution){

errno = EINVAL;return -1;

}return state -> solve (solution);

}

int Sudoku::write (FILE *output) const{

StmDebugAidsVerify (!n || state);int ret = 0;for (stm::word i = 0; i < n; ++ i){

for (stm::word ii = 0; ii < n; ++ ii){

for (stm::word j = 0; j < n; ++ j){

for (stm::word jj = 0; jj < n; ++ jj){

stm::word k = n3 * i + n2 * ii + n * j + jj;if (state -> a [k]){

fprintf (output, "%4d", state -> a [k]);}else{

fprintf (output, " ?");}

}if (j < n - 1){

fprintf (output, " ");}

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 603: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 602

}fprintf (output, "\n");

}fprintf (output, "\n");

}return ret;

}

int Sudoku::State::read (const char *input){

if (!input){

errno = EINVAL;return -1;

}for (stm::word i = 0; i < sudoku.n4; ++ i){

char *rest;unsigned long elem = strtoul (input, &rest, 10);if (elem == ULONG_MAX || !isspace (*rest)){

errno = EIO;return -1;

}if (elem > sudoku.n2){

errno = ERANGE;return -1;

}a [i] = stm::byte (elem);input = rest;

}init ();if (!test ()){

errno = EINVAL;return -1;

}return 0;

}

void Sudoku::State::init (){

StmDebugAidsVerify (a.size () == sudoku.n4);StmDebugAidsVerify (pot.size () == sudoku.n4);u = 0;for (stm::word k = 0; k < sudoku.n4; ++ k){

pot [k].clear ();if (!a [k]){

++ u;for (stm::byte i = 1; i <= sudoku.n2; ++ i){

pot [k].insert (i);}stm::word r = getRow (k);stm::word c = getCol (k);stm::word s = getSub (k);

// Handle row.for (stm::byte i = 0; i < sudoku.n2; ++ i){

if (a [sudoku.row [r] [i]]){

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 604: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 603

pot [k].erase (a [sudoku.row [r] [i]]);}

}

// Handle column.for (stm::byte i = 0; i < sudoku.n2; ++ i){

if (a [sudoku.col [c] [i]]){

pot [k].erase (a [sudoku.col [c] [i]]);}

}

// Handle subsquare.for (stm::byte i = 0; i < sudoku.n2; ++ i){

if (a [sudoku.sub [s] [i]]){

pot [k].erase (a [sudoku.sub [s] [i]]);}

}StmDebugAidsVerify (!pot [k].empty ());

}}return;

}

bool Sudoku::State::test () const{

for (stm::word k = 0; k < sudoku.n4; ++ k){

if (a [k]){

stm::word r = getRow (k);stm::word c = getCol (k);stm::word s = getSub (k);

// Test row.for (stm::word i = 0; i < sudoku.n2; ++ i){

if (i != c && a [sudoku.row [r] [i]] == a [k]){

return false;}

}

// Test column.for (stm::word i = 0; i < sudoku.n2; ++ i){

if (i != r && a [sudoku.col [c] [i]] == a [k]){

return false;}

}

// Test subsquare.for (stm::word i = 0; i < sudoku.n2; ++ i){

if (sudoku.sub [s] [i] != k && a [sudoku.sub [s] [i]] == a [k]){

return false;}

}}

}return true;

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 605: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 604

}

int Sudoku::State::solve (stm::dword solution){

StmDebugAidsVerify (solution <= Sudoku::UniqueSolution);if (!test ()){

return -2;}bool success = true;bool unique = true;while (success && u){

bool progress = false;stm::word minPotIndex = sudoku.n4;stm::word minPotSize = sudoku.n2 + 1;for (stm::word k = 0; success && k < sudoku.n4; ++ k){

stm::word potSize = pot [k].size ();switch (potSize){case 0:

break;case 1:

if (success = define (*pot [k].begin (), k)){

progress = true;}break;

default:if (potSize < minPotSize){

minPotSize = potSize;minPotIndex = k;

}break;

}}if (success && !progress){

StmDebugAidsVerify (minPotIndex < sudoku.n4);StmDebugAidsVerify (minPotSize <= sudoku.n2);StmDebugAidsVerify (minPotSize > 0);StmDebugAidsVerify (minPotSize == pot [minPotIndex].size ());std::vector<stm::byte> minPot(

pot [minPotIndex].begin (),pot [minPotIndex].end ()

);enum{

SearchSolution,CheckUniqueness,Ready

}solutionState = SearchSolution;State resultState (*this);for (stm::word i = 0,

j = solution == Sudoku::RandomSolution ? randomVal (minPotSize) : 0;solutionState != Ready && i < minPotSize;++ i)

{State subState (*this);if (subState.define (minPot [(i + j) % minPotSize], minPotIndex)){

switch (subState.solve (solution))

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 606: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 605

{case -2:

StmDebugAidsVerify (u);solutionState = Ready;break;

case -1:unique = false;// Fall through.

case 0:StmDebugAidsVerify(

solution == Sudoku::UniqueSolution || !subState.u);switch (solutionState){case SearchSolution:

if (unique){

resultState.restore (subState);solutionState = CheckUniqueness;

}else if (solution == Sudoku::UniqueSolution){

restore (resultState);return -1;

}else{

restore (subState);solutionState = Ready;

}break;

case CheckUniqueness:unique = false;restore (resultState);solutionState = Ready;break;

}break;

default:break;

}}

}if (solutionState != Ready){

restore (resultState);}if (u){

success = false;}

}}StmDebugAidsVerify (test ());return

u ?int (u) :unique ? 0 : -1;

}

int Sudoku::State::generate (){

StmDebugAidsVerify (u == sudoku.n4);if (!sudoku.silent){

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 607: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 606

fprintf (stderr, "Compute initial solution...");}int ret = solve (Sudoku::RandomSolution);if (ret != -1){

errno = EINVAL;return -1;

}StmDebugAidsVerify (!u);std::set<stm::word> defined;for (stm::word k = 0; k < sudoku.n4; ++ k){

defined.insert (k);}if (!sudoku.silent){

fprintf (stderr, "\r \r");fprintf (stderr, "Undefined positions: ");

}do{

// Choose a position to undefine randomly and undefine that// position.if (!sudoku.silent){

fprintf (stderr, "%4u\b\b\b\b", u);}std::vector<stm::word> pos (defined.begin (), defined.end ());stm::word k = pos [randomVal (pos.size ())];StmDebugAidsVerify (a [k]);stm::byte el = a [k];undefine (k);defined.erase (k);

State resultState (*this);switch (ret = resultState.solve (Sudoku::RandomSolution)){case -1:

define (el, k);if (!sudoku.silent){

fprintf (stderr, "%4u\n", u);}break;

case 0:break;

default:errno = EINVAL;return -1;break;

}}while (!ret);if (!test ()){

errno = EINVAL;return -1;

}return 0;

}

bool Sudoku::State::define (stm::byte el, stm::word k){

StmDebugAidsVerify (pot [k].count (el));StmDebugAidsVerify (!a [k]);stm::word r = getRow (k);

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 608: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 607

stm::word c = getCol (k);stm::word s = getSub (k);State saveState (*this);a [k] = el;

// Handle row.for (stm::byte i = 0; i < sudoku.n2; ++ i){

if (sudoku.row [r] [i] != k && !pot [sudoku.row [r] [i]].empty ()){

pot [sudoku.row [r] [i]].erase (el);if (pot [sudoku.row [r] [i]].empty ()){

restore (saveState);return false;

}}

}

// Handle column.for (stm::byte i = 0; i < sudoku.n2; ++ i){

if (sudoku.col [c] [i] != k && !pot [sudoku.col [c] [i]].empty ()){

pot [sudoku.col [c] [i]].erase (el);if (pot [sudoku.col [c] [i]].empty ()){

restore (saveState);return false;

}}

}

// Handle subsquare.for (stm::byte i = 0; i < sudoku.n2; ++ i){

if (sudoku.sub [s] [i] != k && !pot [sudoku.sub [s] [i]].empty ()){

pot [sudoku.sub [s] [i]].erase (el);if (pot [sudoku.sub [s] [i]].empty ()){

restore (saveState);return false;

}}

}

pot [k].clear ();-- u;return true;

}

void Sudoku::State::undefine (stm::word k){

StmDebugAidsVerify (a [k]);StmDebugAidsVerify (pot [k].empty ());stm::word undef = u;a [k] = 0;init ();StmDebugAidsVerify (u == undef + 1);return;

}

int main (int argc, char **argv){

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 609: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 608

typedef stm::logger<> Logger;int ret = 0;Logger logger;logger.setConsole ();

const StmCmdOptSpec optSpec [] ={

{StmId (h), "h\0help\0", StmCmdOptSpecOnlyOption},{StmId (V), "V\0version\0", StmCmdOptSpecOnlyOption},{StmId (s), "s\0silent\0"},{StmId (g), "g\0gen\0generate\0", StmCmdOptSpecRequiresArg},{StmId (G), "G\0gen-only\0", StmCmdOptSpecRequiresArg},{StmId (i), "i\0input\0", StmCmdOptSpecRequiresArg},{StmId (S), "S\0solution\0", StmCmdOptSpecRequiresArg},{StmId (o), "o\0output\0", StmCmdOptSpecRequiresArg},{0, NULL}

};StmCmdLine cmdLine =

stmCmdLineCreate (argc, const_cast<const char **> (argv), optSpec);const char *prog = stmCmdLineGetProg (cmdLine);

try{

/* Evaluate command line options. */stm::word dim = 3;bool silent = false;bool generate = false;bool noSolve = false;bool inputOption = false;bool solutionOption = false;bool outputOption = false;FILE *input = stdin;FILE *output = stdout;int solution = Sudoku::FirstSolution;const char *helpMode = NULL;bool printVersion = false;stmCmdLineSetErrfp (cmdLine, stderr);for (stm::dword optId = stmCmdLineGetFirstOptionId (cmdLine);

optId;optId = stmCmdLineGetNextOptionId (cmdLine))

{if (optId == StmId (h)){

helpMode = stmCmdLineGetCurrentOptionName (cmdLine);continue;

}if (optId == StmId (V)){

printVersion = true;continue;

}if (optId == StmId (s)){

silent = true;continue;

}if (optId == StmId (g)){

if (noSolve || inputOption){

fprintf (stderr,"%s: option %s: mutually exclusive to options ""--input and --generate-only\n",prog,stmCmdLineGetCurrentOptionName (cmdLine));

stmCmdLineSetError (cmdLine, StmCmdLineOptionError);}

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 610: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 609

else{

const char *optarg = stmCmdLineGetCurrentOptionArg (cmdLine);char *end;long ll;StmDebugAidsVerify (optarg);ll = strtol (optarg, &end, 10);if (*end || ll < 2 || ll > 10){

fprintf (stderr,"%s: option %s: illegal option argument: %s\n",prog,stmCmdLineGetCurrentOptionName (cmdLine),optarg);

stmCmdLineSetError (cmdLine, StmCmdLineOptionArgError);}else{

dim = (int) ll;generate = true;input = NULL;

}}continue;

}if (optId == StmId (G)){

if (generate && !noSolve || inputOption){

fprintf (stderr,"%s: option %s: mutually exclusive to options ""--generate and --input\n",prog,stmCmdLineGetCurrentOptionName (cmdLine));

stmCmdLineSetError (cmdLine, StmCmdLineOptionError);}else{

const char *optarg = stmCmdLineGetCurrentOptionArg (cmdLine);char *end;long ll;StmDebugAidsVerify (optarg);ll = strtol (optarg, &end, 10);if (*end || ll < 2 || ll > 10){

fprintf (stderr,"%s: option %s: illegal option argument: %s\n",prog,stmCmdLineGetCurrentOptionName (cmdLine),optarg);

stmCmdLineSetError (cmdLine, StmCmdLineOptionArgError);}else{

dim = (int) ll;generate = true;noSolve = true;input = NULL;

}}continue;

}if (optId == StmId (i)){

if (generate){

fprintf (stderr,

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 611: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 610

"%s: option %s: mutually exclusive to options ""--generate and --generate-only\n",prog,stmCmdLineGetCurrentOptionName (cmdLine));

stmCmdLineSetError (cmdLine, StmCmdLineOptionError);}else if (inputOption){

fprintf (stderr,"%s: option %s: illegal redefinition of input\n",prog,stmCmdLineGetCurrentOptionName (cmdLine));

stmCmdLineSetError (cmdLine, StmCmdLineOptionError);}else{

const char *optarg = stmCmdLineGetCurrentOptionArg (cmdLine);StmDebugAidsVerify (optarg);if (! (input = fopen (optarg, "r"))){

fprintf (stderr,"%s: option %s: cannot open input file %s\n",prog,stmCmdLineGetCurrentOptionName (cmdLine),optarg);

stmCmdLineSetError (cmdLine, StmCmdLineOptionArgError);}inputOption = true;

}continue;

}if (optId == StmId (S)){

if (!inputOption){

fprintf (stderr,"%s: option %s: definition of input missing\n",prog,stmCmdLineGetCurrentOptionName (cmdLine));

stmCmdLineSetError (cmdLine, StmCmdLineOptionError);}else if (solutionOption){

fprintf (stderr,"%s: option %s: illegal redifinition of solution\n",prog,stmCmdLineGetCurrentOptionName (cmdLine));

stmCmdLineSetError (cmdLine, StmCmdLineOptionError);}else{

const char *optarg = stmCmdLineGetCurrentOptionArg (cmdLine);StmDebugAidsVerify (optarg);if (!strcmp (optarg, "first")){

solution = Sudoku::FirstSolution;}else if (!strcmp (optarg, "random")){

solution = Sudoku::RandomSolution;}else if (!strcmp (optarg, "unique")){

solution = Sudoku::UniqueSolution;}else{

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 612: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 611

fprintf (stderr,"%s: option %s: illegal option argument: %s\n",prog,stmCmdLineGetCurrentOptionName (cmdLine),optarg);

stmCmdLineSetError (cmdLine, StmCmdLineOptionArgError);}solutionOption = true;

}continue;

}if (optId == StmId (o)){

if (outputOption){

fprintf (stderr,"%s: option %s: illegal redifinition of output\n",prog,stmCmdLineGetCurrentOptionName (cmdLine));

stmCmdLineSetError (cmdLine, StmCmdLineOptionError);}else{

const char *optarg = stmCmdLineGetCurrentOptionArg (cmdLine);StmDebugAidsVerify (optarg);if (! (output = fopen (optarg, "w"))){

fprintf (stderr,"%s: option %s: cannot open output file %s\n",prog,stmCmdLineGetCurrentOptionName (cmdLine),optarg);

stmCmdLineSetError (cmdLine, StmCmdLineOptionArgError);}outputOption = true;

}continue;

}}

/* Exit on option error. */if (stmCmdLineGetError (cmdLine)){

stmPrintSynopsis (stderr, 79, StmElements (man), man);return 1;

}

/* Handle help mode. */if (helpMode){

int ret = 2;FILE *pp;if (! (pp = popen ("more", "w"))){

fprintf (stderr, "popen failed: aborted\n");exit (1);

}if (stmCmdLineGetCurrentArgIndex (cmdLine) ==

stmCmdLineGetArgCount (cmdLine)){

ret =stmPrintManual (pp, 79,

Version, Copyright, StmElements (man), man) < 0 ?1 : /* Error. */2; /* Success. */

}else

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 613: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 612

{if ((ret = stmPrintManualHeader (pp, 79, Version, StmElements (man), man)) >= 0 &&

(ret = stmPrintSynopsis (pp, 79, StmElements (man), man)) >= 0){

StmBool first = StmTrue;stm::word i;for (i = stmCmdLineGetCurrentArgIndex (cmdLine);

i < stmCmdLineGetArgCount (cmdLine);++ i)

{fprintf (pp, "\n");if (first){

fprintf (pp, "OPTIONS HELP\n");first = StmFalse;

}if ((ret = stmPrintOptionHelp (pp, 79,

stmCmdLineGetArg (cmdLine, i),StmElements (man), man)) < 0)

{break;

}}

}ret =

ret < 0 || (ret = stmPrintManualFooter (pp, 79, ret, Copyright)) < 0 ?1 : /* Error. */2; /* Success. */

}if (pclose (pp)){

fprintf (stderr, "pclose failed: aborted\n");exit (1);

}return ret;

}

/* Handle print version */if (printVersion){

fprintf (stdout, "%s\n", Version);exit (2);

}

/* Exit on argument error. */switch (stmCmdLineGetArgCount (cmdLine) - stmCmdLineGetCurrentArgIndex (cmdLine)){case 0:

break;case 1:

if (!outputOption){

const char *optarg =stmCmdLineGetArg (cmdLine, stmCmdLineGetCurrentArgIndex (cmdLine));

StmDebugAidsVerify (optarg);if (! (output = fopen (optarg, "w"))){

fprintf (stderr,"%s: cannot open output file %s\n",prog,optarg);

stmPrintSynopsis (stderr, 79, StmElements (man), man);exit (1);

}outputOption = true;break;

}

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 614: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

14.5 sudoku.cpp 613

// Fall through.default:

fprintf (stderr,"%s: ambigous arguments\n",prog);

stmPrintSynopsis (stderr, 79, StmElements (man), man);exit (1);

}

// Do command operation.Sudoku sudoku (silent);if (generate){

if (sudoku.generate (dim) < 0){

throw std::runtime_error ("error generating input");}

}else{

if (sudoku.read (input) < 0){

throw std::runtime_error ("error reading input");}

}if ((ret = sudoku.test ()) < 0){

if (!silent){

fprintf (output,"# %s: no valid sudoku\n",prog);

}}else if (noSolve || generate){

if (!silent){

fprintf (output,"# %s: %d undefined positions\n",prog,ret);

}sudoku.write (output);if (generate){

fprintf (output, "\n");}

}if (ret >= 0 && !noSolve){

int u = ret;ret = sudoku.solve (solution);if (!silent){

switch (ret){case -2:

fprintf (output,"# %s: no valid sudoku\n",prog);

break;case -1:

StmDebugAidsVerify (sudoku.test () >= 0);switch (solution){case Sudoku::FirstSolution:

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 615: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

15 SysToMath C++ Libraries Implementation Page Documentation 614

fprintf (output,"# %s: first of several solutions\n",prog);

break;case Sudoku::RandomSolution:

fprintf (output,"# %s: randomly chosen of several solutions\n",prog);

break;case Sudoku::UniqueSolution:

fprintf (output,"# %s: added %d elements of uniquely determined ""part of non-unique solution\n",prog,u - sudoku.test ());

break;}break;

case 0:fprintf (output,

"# %s: valid and unique solution\n",prog);

break;default:

fprintf (output,"# %s: failed to solve: still %d undefined positions\n",prog,ret);

}}sudoku.write (output);fprintf (output, "\n");

}}catch (std::exception &exc){

ret = 1;std::string what (exc.what ());if (what.empty ()) what = "Unspecified error";else if (what [what.size () - 1] == ’.’) what.erase (what.size () - 1);logger.paragraph ();logger << what << ": " << prog << " aborted.\n";logger (Logger::Indent | Logger::NoPara);

}catch (...){

ret = 1;logger.paragraph ();logger << "Unknown error: " << prog << " aborted.\n";logger (Logger::Indent | Logger::NoPara);

}

// Cleanup.stmCmdLineDestroy (cmdLine);return ret;

}

15 SysToMath C++ Libraries Implementation Page Documentation

15.1 Microsoft Visual Studio Tool Family

The Microsoft Visual Studio tool family consists of the tool sets:

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 616: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

15.1 Microsoft Visual Studio Tool Family 615

• Microsoft Visual Studio .NET 2003 (vc71)

• Microsoft Visual Studio 2005 (vc80)

15.1.1 Automatic Linking with Microsoft Visual Studio

On Microsoft Visual Studio .NET 2003 (vc71) and Microsoft Visual Studio 2005 (vc80) the necessarylibraries are linked automatically when one of the main library interface header files stm/aids.hpp orstm/toolaids.hpp or one of the library object interface header files is included, unless this mechanism issuppressed by the definition of the preprocessor symbol STM_NO_LIB, STM_AIDS_NO_LIB or STM_-TOOLAIDS_NO_LIB before that inclusion.

The choice of the libraries depends on the tool set used (vc71 or vc80) and on the system runtime libraryselected for the executable to be built. The SysToMath C++ Libraries package provides for each of itslibrary modules four static library configurations (lib files) and two dynamic ones (dll files). In thefollowing list module stands for aids or toolaids and vcnn for vc71 or vc80:

• DebugMt: Static debug library libstmmodule-vcnn-mt-gd.lib together with its debugdatabase file libstmmodule-vcnn-mt-gd.pdb chosen when linking against the multithreadeddebug DLL runtime (Compiler switch /MDd).

• DebugDllMt: Dynamic debug library stmmodule-vcnn-mt-gd.dll togetherwith its import library stmmodule-vcnn-mt-gd.lib and its debug database filestmmodule-vcnn-mt-gd.pdb chosen when linking against the multithreaded debug DLLruntime (Compiler switch /MDd) and defining the preprocessor variable STM_DYN_LINK beforethe SysToMath C++ Libraries header file inclusion.

• DebugMtStaticRt: Static debug library libstmmodule-vcnn-mt-sgd.lib together with itsdebug database file libstmmodule-vcnn-mt-sgd.pdb chosen when linking against the mul-tithreaded static debug runtime(Compiler switch /MTd).

• ReleaseMt: Static release library libstmmodule-vcnn-mt.lib chosen when linking againstthe multithreaded release DLL runtime (Compiler switch /MD).

• ReleaseDllMt: Dynamic release library stmmodule-vcnn-mt.dll together with its import li-brary stmmodule-vcnn-mt.lib chosen when linking against the multithreaded release DLLruntime (Compiler switch /MD) and defining the preprocessor variable STM_DYN_LINK before theSysToMath C++ Libraries header file inclusion.

• ReleaseMtStaticRt: Static release library libstmmodule-vcnn-mt-s.lib chosen when link-ing against the multithreaded static release runtime (Compiler switch /MT).

15.1.2 Environment

It is recommended that all static libraries (lib files) and their debug database files (pdb files) are locatedin a directory contained in the compiler system library search path. Moreover, to satisfy the applicationruntime requirements, it is recommended that all dynamic link libraries (dll files) and their debug databasefiles (pdb files) are located in the application directory or in a directory contained in the system executablesearch path.

If you used the installation program LibStmCppSetup.exe to install the SysToMath C++ Librarieswith the installation root directory, say C:\Program Files\SysToMath where you also installed theprerequisite library packages

• LibStmC

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 617: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

15.2 GNU Tool Family 616

• Boost-1.34

and you use Microsoft Visual Studio .NET 2003 (vc71) or Microsoft Visual Studio 2005 (vc80), then theaforementioned compiler system directory recommendations are satisfied, if you add the following entriesin Visual Studio, menu Tools, Options, Projects, VC++ Directories:

• Executable Files: Add C:\Program Files\SysToMath\bin\w32

• Library Files: Add C:\Program Files\SysToMath\lib\w32

• Include Files: Add C:\Program Files\SysToMath\include

• Include Files: Add C:\Program Files\SysToMath\include\boost-1_34

The example programs can then be found in C:\Program Files\SysToMath\samples\LibStmCpptogether with ready to use Visual Studio solution files w32\LibStmCpp-vc71.sln andw32\LibStmCpp-vc80.sln.

15.2 GNU Tool Family

The GNU tool family consists of the tool sets:

• GNU gcc for POSIX environment (cygwin)

• GNU gcc for Microsoft environment (cygming)

The tool set cygwin (chosen by gcc or g++ without option -mno-cygwin) produces libraries dependingon the dynamic library cygwin1.dll and therefore is restricted to free open source software projects,whereas the tool set cygming (chosen by gcc or g++ with option -mno-cygwin) produces librariesonly depending on the Microsoft runtime libraries and thus also allows commercial closed source softwareprojects.

15.2.1 Linking with the GNU Tool Family

The libraries for the GNU tool family have to be linked explicitely.

The choice of the libraries depends on the tool set used (cygwin or cygming) and on the system runtimelibrary selected for the executable to be built. The SysToMath C++ Libraries package provides for eachof its library modules two static library configurations (a files) and two dynamic ones (dll files). In thefollowing list module stands for aids or toolaids and cygxxx for cygwin or cygming:

• DebugMt: Static debug library libstmmodule-cygxxx-mt-d.a to be chosen for multi-threaded debug enabled statically linked executables (the preprocessor variables _MT and _DEBUGshould be defined).

• DebugDllMt: Dynamic debug library stmmodule-cygxxx-mt-d.dll together with its importlibrary libstmmodule-cygxxx-mt-d.dll.a to be chosen for multithreaded debug enableddynamically linked executables (the preprocessor variables _MT, _DEBUG and STM_DYN_LINKshould be defined).

• ReleaseMt: Static release library libstmmodule-cygxxx-mt.a to be chosen for multi-threaded not debug enabled statically linked executables (the preprocessor variables _MT andNDEBUG should be defined).

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 618: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

15.3 SysToMath Aids C++ Library 617

• ReleaseDllMt: Dynamic release library stmmodule-cygxxx-mt.dll together with its importlibrary libstmmodule-cygxxx-mt.dll.a to be chosen for multithreaded not debug enableddynamically linked executables (the preprocessor variables _MT, NDEBUG and STM_DYN_LINKshould be defined).

15.2.2 Environment

It is recommended that all static libraries (a files) are located in a directory contained in the compilersystem library search path. Moreover, to satisfy the application runtime requirements, it is recommendedthat all dynamic link libraries (dll files) are located in the application directory or in a directory containedin the system executable search path.

If you used the installation program LibStmCppSetup.exe to install the SysToMath C++ Librarieswith the installation root directory, say C:\Program Files\SysToMath, where you also installed theprerequisite library packages

• LibStmC

• Boost-1.34

and you have added /cygdrive/c/Program Files/SysToMath/bin/w32 to your PATH envi-ronment variable, then the aforementioned compiler system directory recommendations are satisfied, if youuse the following options in your gcc or g++ command lines:

• Library Files: Use -L"/cygdrive/c/Program Files/SysToMath/lib/w32"

• Include Files: Use -I"/cygdrive/c/Program Files/SysToMath/include"

• Include Files: Use -I"/cygdrive/c/Program Files/SysToMath/include/boost-1_-34"

The example programs can then be found in /cygdrive/c/ProgramFiles/SysToMath/samples/LibStmCpp.

15.3 SysToMath Aids C++ Library

15.3.1 Content

The SysToMath Aids C++ Library consits of the following objects:

• DebugAids: Debugging Support Facilities

• DivAids: Diverse Aids

• FilesysAids: File System Aids

• GenCRC: Generic CRC Generation

• LoggerAids: Formatted Logging Aids

• SmartptrAids: Smart Pointer Aids

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 619: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

15.4 SysToMath Tool Aids C++ Library 618

15.3.2 Usage

To compile an application which uses the SysToMath Aids C++ Library, the public main library interfaceheader file

• stm/aids.hpp

or one of the public library object interface header files

• stm/debugaids.hpp

• stm/divaids.hpp

• stm/filesysaids.hpp

• stm/gencrc.hpp

• stm/loggeraids.hpp

• stm/smartptraids.hpp

shall be included and be located in a directory contained in the compiler system include search path.Moreover, the implementation header files

• stm/impl/aidsconfig.hpp

• stm/impl/debugxaids.hpp

• stm/impl/divxaids.hpp

• stm/impl/filesysxaids.hpp

• stm/impl/genxcrc.hpp

• stm/impl/loggerxaids.hpp

• stm/impl/smartptrxaids.hpp

shall also be located in a directory contained in the compiler system include search path.

For examples see filesystest.cpp, gencrctest.cpp smartptrtest.cpp, sudoku.cpp and divaidstest.cpp.

15.4 SysToMath Tool Aids C++ Library

15.4.1 Content

The SysToMath Tool Aids C++ Library consits of the following objects:

• CtAids: ClearCase cleartool Aids

• BinMsg: Abstract Binary Message Model

• DspMsg: DSP Message Model

• LvdsPacket: LVDS Packet Model

• McBspMsg: McBSP Message Model

• MsgTimestamp: Message Timestamp Model

• PrintkBinMsg: PrintkBin Message Model

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 620: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

15.5 Deprecated List 619

15.4.2 Usage

To compile an application which uses the SysToMath Tool Aids C++ Library, the public main libraryinterface header file

• stm/toolaids/toolaids.hpp

or one of the public library object interface header files

• stm/toolaids/ctaids.hpp

• stm/toolaids/binmsg.hpp

• stm/toolaids/dspmsg.hpp

• stm/toolaids/lvdspacket.hpp

• stm/toolaids/mcbspmsg.hpp

• stm/toolaids/msgtimestamp.hpp

• stm/toolaids/printkbinmsg.hpp

shall be included and be located in a directory contained in the compiler system include search path.Moreover, the implementation header files

• stm/toolaids/impl/toolaidsconfig.hpp

• stm/toolaids/impl/xctaids.hpp

• stm/toolaids/impl/xbinmsg.hpp

• stm/toolaids/impl/xdspmsg.hpp

• stm/toolaids/impl/xlvdspacket.hpp

• stm/toolaids/impl/xmcbspmsg.hpp

• stm/toolaids/impl/xmsgtimestamp.hpp

• stm/toolaids/impl/xprintkbinmsg.hpp

shall also be located in a directory contained in the compiler system include search path.

15.5 Deprecated List

Class stm::inputseq< InputFileT, bufSize > For historical reasons. Do not use for new code.

Member stm::LogInfo Use stm::SyslogInfo instead.

Member stm::LogWarning Use stm::SyslogWarning instead.

Member stm::LogError Use stm::SyslogError instead.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 621: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

15.5 Deprecated List 620

Member stm::LogLevelMask Use stm::SyslogLevelMask instead.

Member stm::LogPerror Use stm::SyslogPerror instead.

Member stm::LogNoPerror Use stm::SyslogNoPerror instead.

Member stm::hostlittleendian() use stm::littleendian () instead.

Member stm::hostbigendian() use stm::bigendian () instead.

Member stm::numpath For historical reasons numpath is an alternative name for numpstring.

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 622: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

Index∼BaseMessage

stm::tools::BaseMessage, 123∼BinMessage

stm::tools::BinMessage, 152∼Data

stm::local::BraceExpand::Data, 160∼DspMessage

stm::tools::DspMessage, 189∼LvdsPacket

stm::tools::LvdsPacket, 303∼Tail

stm::local::BraceExpand::Data::Tail, 161∼basic_logger

ModLoggerAids, 66∼condition

stm::condition, 167∼dirdata

stm::path::dirdata, 344∼injective_set

stm::smartptr::injective_set, 238∼inputrange

stm::inputrange, 247∼inputrange_iterator

stm::inputrange_iterator, 255∼locker

ModLoggerAids, 66stm::local::basic_xlogger::locker, 144

∼mapped_ptrstm::smartptr::local::mapped_ptr, 311stm::smartptr::local::mapped_ptr< T, Com-

pare, Allocator, refcounted, false >, 317∼repository_type

stm::smartptr::local::repository_type, 360stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false >,366

∼scoped_lockstm::scoped_lock, 370

∼system_conditionstm::system_condition, 386

∼system_scoped_lockstm::system_scoped_lock, 389

∼xcrcstm::local::xcrc, 415

∼xinputrangestm::local::xinputrange, 445

aSudoku::State, 385

accessorstm::smartptr::injective_set::accessor, 242

Actionsstm::tools::CtExceptions, 181

activestm::local::errmsg, 193stm::tools::Ct::ArgList, 178

addstm::tools::CtExceptions, 180

addBodyLengthstm::tools::local::xPrintkBinMessage::Identification,

480addLabels

stm::tools::CtOperation, 185addrword

ModDivAids, 30adjust

DivAidsImpl, 52adjustChild

ModLoggerAids, 68adjustSync

stm::local::basic_xlogger, 140, 141Aich

stm::tools::LvdsPacket::DataType, 306stm::tools::LvdsPacket::Priority, 307

aids.hpp, 492aidsconfig.hpp, 493

STM_LIB_NAME, 494Align

stm::local::xinputrange_iterator, 450All

Operation::Archive, 334Operation::Mode, 334Operation::Type, 335

allocator_typestm::smartptr::injective_ptr, 228stm::smartptr::injective_set, 237

allowedSeparatorsstm::pstring, 354

Amplitudestm::tools::LvdsPacket::DataType, 306stm::tools::LvdsPacket::Priority, 307

AmplNoOffsstm::tools::LvdsPacket::DataType, 306stm::tools::LvdsPacket::Priority, 307

antennaFlagsstm::tools::LvdsPacket, 304

antennaFlags_stm::tools::local::xLvdsPacket, 465

appCharstm::local::xfilespec, 431

appCirc

Page 623: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 622

stm::local::xfilespec, 432appDot

stm::local::xfilespec, 431appDotSeq

stm::local::xfilespec, 432append

stm::filespeclist, 209stm::local::xfilespec, 431

archiveOperation, 333

ArgListstm::tools::Ct::ArgList, 177

assignDivAidsImpl, 51stm::integral_range, 262stm::integral_set, 277stm::smartptr::injective_ptr, 230stm::tools::MsgTimestamp, 325

AutoIndModLoggerAids, 65stm::local::basic_xlogger, 139

availableids_stm::smartptr::local::repository_type, 362

basestm::inputseq, 257stm::local::xinputrange, 444stm::local::xIntegral_range, 454stm::path, 337stm::smartptr::injective_set::accessor, 242stm::smartptr::local::repository_type, 360stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false >,365

baseitstm::smartptr::local::repository_type::range_-

iterator, 363stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false>::range_iterator, 368

BaseMessagestm::tools::BaseMessage, 123

basemessage_typestm::tools::BaseMessage, 122stm::tools::BinMessage, 151stm::tools::BinMessageContext, 156stm::tools::local::xBinMessage, 406stm::tools::local::xBinMessageContext, 409stm::tools::local::xMcBspMessage, 468stm::tools::local::xPrintkBinMessage, 477stm::tools::McBspMessage, 321stm::tools::PrintkBinMessage, 351

BaseMessageContextstm::tools::BaseMessageContext, 128

BaseMessageContextImplstm::tools::BaseMessageContext, 127

BaseMessageImplstm::tools::BaseMessage, 122

basic_loggerModLoggerAids, 66

basic_xloggerstm::local::basic_xlogger, 139, 140

BbtOpCodestm::tools::local::xTraceHeader, 490

beginstm::integral_set, 275stm::smartptr::injective_set, 240

beginrangestm::integral_set, 275

beginsWithRootDirectorystm::filespec, 205

beginsWithRootNamestm::filespec, 204

bfnstm::tools::DspMessage::TraceHeader, 191stm::tools::local::xMcBspMessage::Identification,

471stm::tools::local::xPrintkBinMessage::Identification,

480stm::tools::MsgTimestamp, 325

bfn_stm::tools::local::xMcBspMessage::Identification,

472stm::tools::local::xMsgTimestamp, 475stm::tools::local::xPrintkBinMessage::Identification,

481stm::tools::local::xTraceHeader, 489

BfnMaskstm::tools::local::xPrintkBinMessage::Identification,

482bigendian

ModDivAids, 31Bij

Operation::Mode, 334Bin

Operation::Archive, 334BinMessage

stm::tools::BinMessage, 152BinMessageContext

stm::tools::BinMessageContext, 156BinMessageContext< DataT, InputRangeT, Con-

textT >stm::tools::BinMessageContext::Gap, 158

BinMessageContextImplstm::tools::BinMessageContext, 155

BinMessageImplstm::tools::BinMessage, 151

BinMsg Implementation, 78

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 624: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 623

binmsg.hpp, 494BinMsg: Abstract Binary Message Model, 75boardTimeMs

stm::tools::local::xPrintkBinMessage::Identification,480

stm::tools::MsgTimestamp, 326boardTimeMs_

stm::tools::local::xMsgTimestamp, 475stm::tools::local::xPrintkBinMessage::Identification,

481boardTimeSec

stm::tools::local::xPrintkBinMessage::Identification,480

stm::tools::MsgTimestamp, 326boardTimeSec_

stm::tools::local::xMsgTimestamp, 475stm::tools::local::xPrintkBinMessage::Identification,

481body

stm::tools::BaseMessage, 124stm::tools::BinMessage, 153stm::tools::DspMessage, 190stm::tools::LvdsPacket, 304

body_stm::tools::local::xBaseMessage, 402stm::tools::local::xDspMessage, 424stm::tools::local::xLvdsPacket, 466

bodyLengthstm::tools::local::xMcBspMessage::Identification,

471stm::tools::local::xPrintkBinMessage::Identification,

480bodyLength_

stm::tools::local::xMcBspMessage::Identification,472

stm::tools::local::xPrintkBinMessage::Identification,482

boost::serialization::accessstm::smartptr::injective_ptr, 234stm::smartptr::local::mapped_ptr, 313stm::smartptr::local::mapped_ptr< T, Com-

pare, Allocator, refcounted, false >, 318stm::smartptr::local::pointee_type, 348

BOOST_STATIC_ASSERTstm::local::xinputrange, 445stm::local::xinputrange_iterator, 451stm::local::xIntegral_range, 455

brace_expandModFilesysAids, 41

bracketExprstm::local::xfilespec, 432

broadcaststm::condition, 167stm::system_condition, 387

bufAdvancestm::inputrange, 250

bufEndstm::inputrange, 250

bufEnd_stm::local::xinputrange, 446

bufExhaustedstm::inputrange, 250

buffer_stm::local::xinputrange, 446

bufFullstm::inputrange, 250

bufPtrstm::inputrange, 250

bufPtr_stm::local::xinputrange, 446

bufrangestm::local::xinputrange_iterator, 451

bufrange_typestm::inputrange_iterator, 254stm::local::xinputrange_iterator, 450

bufSetupstm::inputrange, 249

BufSizestm::inputrange, 247

bufStep_stm::local::xinputrange, 447

by_ptrstm::smartptr::local::repository_type, 360

byteModDivAids, 30

byte_iterator_rangestm::byte_iterator_range, 163

ByteLenstm::local::xcrc, 415

char_typeModLoggerAids, 64stm::local::basic_xlogger, 138

charClassExprstm::local::xfilespec, 433

checkLeadingDotstm::local::xfilespec, 433

checkOutstm::tools::CtOperation, 184

childSlot, 371

children_Slot, 372

chipstm::tools::local::xMcBspMessage::Identification,

471stm::tools::MsgTimestamp, 326

chip_

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 625: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 624

stm::tools::local::xMcBspMessage::Identification,472

stm::tools::local::xMsgTimestamp, 475ciCommentOption_

stm::tools::local::xCt, 417clamped_offset

ModDivAids, 35clamped_rest

ModDivAids, 35clear

stm::filespeclist, 209stm::inputrange, 247stm::integral_range, 264stm::integral_set, 284stm::local::xinputrange, 445stm::readablefile, 357stm::tools::CtExceptions, 181stm::tools::local::xMcBspMessage::Identification,

471stm::tools::local::xPrintkBinMessage::Identification,

480clearNls

stm::local::basic_xlogger, 141col

Sudoku, 379collSymb

stm::local::xfilespec, 433ColonFound

stm::local::basic_xlogger::Stream, 146ColonInactive

stm::local::basic_xlogger::Stream, 146ColonInd

ModLoggerAids, 65stm::local::basic_xlogger, 139

ColonReadystm::local::basic_xlogger::Stream, 146

ColonScanstm::local::basic_xlogger::Stream, 146

colonStatestm::local::basic_xlogger::Stream, 147

ColonTableModLoggerAids, 65stm::local::basic_xlogger, 139

command_stm::tools::local::xCtOperation::LabelList,

421compare_type

stm::smartptr::injective_ptr, 228stm::smartptr::injective_set, 237

cond_stm::local::xcondition, 413stm::local::xsystem_condition, 487

conditionstm::condition, 167

ConsistencyErrorstm::tools::BaseMessage, 123stm::tools::BinMessage, 152

const_iteratorstm::filespeclist, 208stm::integral_set, 274stm::local::xIntegral_set, 459stm::tools::CtExceptions, 180

const_reverse_iteratorstm::integral_set, 274stm::local::xIntegral_set, 459

constructed_stm::local::xinputrange_iterator, 452

containsUnescapedBracestm::filespec, 204

containsUnescapedEreOperatorstm::filespec, 204

containsUnescapedPatternMatchingOperatorstm::filespec, 203

Contentstm::tools::CtExceptions, 181

contextstm::tools::BaseMessage, 124stm::tools::BinMessage, 153

context_stm::local::xinputrange_iterator, 451stm::tools::local::xBaseMessage, 402stm::tools::local::xBinMessage, 407

context_typestm::inputrange_iterator, 254stm::local::xinputrange_iterator, 450stm::tools::BaseMessage, 122stm::tools::BaseMessageContext, 128stm::tools::BinMessage, 151stm::tools::BinMessageContext, 155stm::tools::DspMessage, 188stm::tools::local::xBaseMessage, 401stm::tools::local::xBaseMessageContext, 404stm::tools::local::xBinMessage, 406stm::tools::local::xBinMessageContext, 409stm::tools::local::xDspMessage, 424stm::tools::local::xLvdsPacket, 464stm::tools::local::xMcBspMessage, 468stm::tools::local::xPrintkBinMessage, 477stm::tools::LvdsPacket, 301stm::tools::McBspMessage, 321stm::tools::PrintkBinMessage, 351

CopyrightDivAidsTest, 87FilesysAidsTest, 89GenCrcTest, 90SmartptrAidsTest, 93StmAidsTest, 97

crc

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 626: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 625

stm::crc, 170create

stm::tools::local::xBinMessageContext, 410CreateFct

stm::tools::local::xBinMessageContext, 409createMessage

stm::tools::local::xBinMessageContext, 410creation_

stm::tools::local::xBinMessageContext, 410crit_

stm::tools::local::xBinMessageContext, 410Ct

stm::tools::Ct, 174ct

stm::tools::CtOperation, 183ct_

stm::tools::local::xArgList, 399stm::tools::local::xCtOperation, 420

CtAids Implementation, 79ctaids.cpp, 496

PATHLEN, 497ctaids.hpp, 497CtAids: ClearCase cleartool Aids, 76CtOperation

stm::tools::CtOperation, 183currentReplica_

stm::tools::local::xCtOperation, 419

Datastm::local::BraceExpand::Data, 160

datastm::tools::BaseMessageContext, 129

data_stm::tools::local::xBaseMessageContext, 405

data_typestm::path::dirdata, 343stm::tools::BaseMessageContext, 127stm::tools::BinMessageContext, 155stm::tools::local::xBaseMessageContext, 404

dataTypestm::tools::LvdsPacket, 304

dataType_stm::tools::local::xLvdsPacket, 466

DataTypeErrorstm::tools::LvdsPacket, 302

DdtOpCodestm::tools::local::xTraceHeader, 490

DebugAids Implementation, 45debugaids.cpp, 498debugaids.hpp, 499DebugAids: Debugging Support Facilities, 19DebugAidsImpl

StmDebugAidsErrmsgImpl_, 46StmDebugAidsVerifyImpl_, 46

syslogPerror, 47syslogProg, 47

debugxaids.hpp, 502STM_DEBUGXAIDS_HPP, 504

decrefcountstm::smartptr::local::item_descr< T, Compare,

false, false >, 288stm::smartptr::local::item_descr< T, Compare,

false, true >, 290stm::smartptr::local::item_descr< T, Compare,

true, false >, 292stm::smartptr::local::item_descr< T, Compare,

true, true >, 294defaultFlags

stm::hexfmt, 218stm::hexfmt< ElemT ∗, DefaultFlags >, 221

DefaultGetMastershipTimeoutSecstm::tools::CtOperation, 186

defaultInitialRemainderPolynomialstm::crc, 172

defaultInitialRemainderPolynomial_stm::local::xcrc, 416

defineSudoku::State, 383TestSet, 394

define_rangestm::smartptr::injective_ptr, 233

definedids_stm::smartptr::local::repository_type, 362

defineRangestm::smartptr::local::repository_type, 361stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false >,366

designateSameModFilesysAids, 42

designatesSamestm::pstring, 354

destroySyncstm::local::basic_xlogger, 140

dirOperation, 333

dirdatastm::path::dirdata, 343, 344

Directorystm::tools::CtExceptions, 181

dirpathstm::path::dirdata, 344

dirpath_stm::local::xdirdata, 422

dispSlot, 371

disp_Slot, 372

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 627: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 626

DivAids Implementation, 47DivAids Test, 87divaids.cpp, 504divaids.hpp, 505DivAids: Diverse Aids, 23DivAidsImpl

adjust, 52assign, 51getIntegral, 50initialize, 50, 54integral_iterator, 51, 52match, 50, 54mkIterator, 53operator ∗, 51operator!=, 51operator++, 52operator–, 52operator==, 51optassign, 51optrange, 55optranges, 55range, 55rangeOf, 53ranges, 55setassign, 54StmRectrlTryImpl_, 49verify, 53wait_, 54xIntegral_range, 50xIntegral_set, 52

DivAidsTestCopyright, 87main, 87Version, 88

divaidstest.cpp, 512divxaids.hpp, 513

STM_DIVXAIDS_HPP, 520DlTpc0

stm::tools::LvdsPacket::DataType, 306stm::tools::LvdsPacket::Priority, 307

DlTpc1stm::tools::LvdsPacket::DataType, 306stm::tools::LvdsPacket::Priority, 307

DoNotRecursestm::local::xrecursionenv, 484stm::path::recursionenv, 347

DspMessagestm::tools::DspMessage, 189

DspMessage< ContextT >stm::tools::DspMessage::TraceHeader, 192

DspMessageImplstm::tools::DspMessage, 188

DspMsg Implementation, 79dspmsg.cpp, 520

dspmsg.hpp, 521DspMsg: DSP Message Model, 77DspMsgImpl

xTraceHeader, 80DtxCtrl

stm::tools::LvdsPacket::DataType, 306stm::tools::LvdsPacket::Priority, 307

dumpstm::hexfmt, 217

dwordModDivAids, 30

DwordPtrTestPtr, 390

DwordSetTestSet, 394

dwptr0TestPtr, 392TestSet, 396

dwptr1TestPtr, 392TestSet, 396

dwsetTestSet, 395

element_typestm::smartptr::injective_ptr, 227

emptystm::integral_range, 263stm::integral_set, 279stm::smartptr::injective_set, 240

EmptyAllowedstm::integral_range, 267stm::local::xIntegral_range, 456

emptyrangestm::integral_range, 264

emptysetstm::integral_set, 284

endstm::integral_set, 275stm::smartptr::injective_set, 240

endianConvertedIfModDivAids, 33

endianConvertIfModDivAids, 32

endrangestm::integral_set, 276

EndWordPatternstm::tools::local::xMcBspMessage, 468

EndWordSizestm::tools::local::xMcBspMessage, 468

Envstm::local::xfilespec::Env, 436stm::local::xIntegral_set::Env, 460

env

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 628: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 627

stm::path::dirdata, 345env_

stm::local::xdirdata, 422env_type

stm::path::dirdata, 343equal

stm::inputrange_iterator, 255ereBracketExpr

stm::local::xfilespec, 432ereFileSpec

stm::local::xfilespec, 435errmsg

stm::local::errmsg, 193error_

stm::local::xinputrange, 447Esc

FilesysAidsImpl, 57EscRe

FilesysAidsImpl, 57Exclude

stm::tools::CtExceptions, 181excludes

stm::tools::CtExceptions, 180exec

stm::tools::Ct::ArgList, 177execCommand

stm::tools::Ct, 175

fcsstm::tools::LvdsPacket, 304

fcs_stm::tools::local::xLvdsPacket, 466

fetchModDivAids, 31

filestm::inputrange, 248

filefindstm::filefind, 196

fileIt_stm::local::xinputrange, 448

fileOffsetstm::inputrange, 248

filerange_typestm::inputrange, 246stm::local::xinputrange, 444stm::local::xinputrange_iterator, 450

files_stm::local::xinputrange, 448

fileSizestm::readablefile, 357

filespecstm::filespec, 201

filespecliststm::filespeclist, 208

FilesysAids Implementation, 55FilesysAids Test, 88filesysaids.cpp, 522filesysaids.hpp, 523FilesysAids: File System Aids, 38FilesysAidsImpl

Esc, 57EscRe, 57PsepChars, 57PsepRe, 57

FilesysAidsTestCopyright, 89main, 89man, 89Version, 89

filesystest.cpp, 526filesysxaids.hpp, 527

STM_FILESYSXAIDS_HPP, 531fill

stm::integral_range, 264stm::integral_set, 285

findstm::integral_set, 277stm::smartptr::injective_set, 239

find_token_endModDivAids, 36, 37

find_trim_backModDivAids, 36

find_trim_frontModDivAids, 37

findFirstOfUnescapedstm::filespec, 202

findLastOfUnescapedstm::filespec, 203

findrangestm::integral_set, 278

findUnescapedParenthesesstm::filespec, 203

FirstSolutionSudoku, 375

fixedfmtstm::fixedfmt, 212

FlagMaskstm::local::xfilespec::Env, 436

flagsstm::hexfmt, 216, 217stm::hexfmt< ElemT ∗, DefaultFlags >, 220stm::local::xfilespec, 435stm::local::xfilespec::Env, 437stm::local::xfilespec::Rollback, 438stm::path::recursionenv, 346stm::tools::BaseMessage, 124stm::tools::BinMessage, 153

flags_

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 629: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 628

stm::local::basic_xlogger::Fmt, 144stm::local::xfilefind, 427stm::local::xfilespeclist, 439stm::local::xhexfmt, 442stm::local::xrecursionenv, 485stm::tools::local::xBaseMessage, 402stm::tools::local::xBinMessage, 407

FmtModLoggerAids, 65stm::basic_logger::Fmt, 134stm::local::basic_xlogger::Fmt, 143

fmtstm::local::basic_xlogger::Stream, 147

FmtFlagsModLoggerAids, 65

FollowDirLinksstm::local::xrecursionenv, 484stm::path::recursionenv, 346

fp_stm::local::xinputrange, 448

Fpgastm::tools::local::xMsgTimestamp, 475stm::tools::MsgTimestamp, 324

frameChipsstm::tools::DspMessage::TraceHeader, 192

frameChips_stm::tools::local::xTraceHeader, 489

fromstm::integral_range, 262

frqstm::tools::LvdsPacket, 304

frq_stm::tools::local::xLvdsPacket, 466

fsize_stm::local::xreadablefile, 483

fspecstm::local::xfilespec, 434

fullstm::integral_range, 263stm::integral_set, 279

fullFileSpecstm::local::xfilespec, 435

fullrangestm::integral_range, 264

fullsetstm::integral_set, 285

Gapstm::tools::BinMessageContext::Gap, 158

gapstm::tools::BinMessageContext, 156

gap_stm::tools::local::xBinMessageContext, 410

GapImpl

stm::tools::local::xBinMessageGap, 412GenCRC Implementation, 57GenCRC Test, 90gencrc.hpp, 531GenCRC: Generic CRC Generation, 43GenCrcTest

Copyright, 90main, 90Version, 90

gencrctest.cpp, 533generate

Sudoku, 375Sudoku::State, 382

generatorPolynomialstm::crc, 172

generatorPolynomial_stm::local::xcrc, 416

GenPolDegreestm::local::xcrc, 415

genxcrc.hpp, 534STM_GENXCRC_HPP, 535

getModDivAids, 31stm::smartptr::injective_ptr, 232

get_pointerModSmartptrAids, 75

getCiCommentOptionstm::tools::Ct, 175

getColSudoku::State, 382

getCommandstm::tools::local::xCtOperation::LabelList,

420getCurrentBranch

stm::tools::Ct, 176getCurrentMasterReplica

stm::tools::Ct, 176getCurrentReplica

stm::tools::CtOperation, 184getFlags

stm::filefind, 197stm::filespec, 202

getIntegralDivAidsImpl, 50

getkeyModFilesysAids, 41

getMastershipTimeoutstm::tools::CtOperation, 184

getModestm::tools::Ct, 175

getrefcountstm::smartptr::local::item_descr< T, Compare,

false, false >, 288

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 630: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 629

stm::smartptr::local::item_descr< T, Compare,false, true >, 290

stm::smartptr::local::item_descr< T, Compare,true, false >, 291

stm::smartptr::local::item_descr< T, Compare,true, true >, 293

stm::smartptr::local::mapped_ptr, 312stm::smartptr::local::mapped_ptr< T, Com-

pare, Allocator, refcounted, false >, 317getRow

Sudoku::State, 382getSpec

stm::filespec, 202getState

stm::filespec, 202getStem

stm::filefind, 197getSub

Sudoku::State, 382getVobRoot

stm::tools::CtOperation, 184

handlePathstm::local::xfilefind, 426

has_headstm::path, 338

has_tail_pathstm::path, 339

hasConsoleModLoggerAids, 67

hasStreamModLoggerAids, 67

hasTraceHeaderstm::tools::DspMessage, 189

headstm::local::BraceExpand::Data, 161stm::path, 338

HeaderSizestm::tools::local::xLvdsPacket, 465

hexfmtstm::hexfmt, 216stm::hexfmt< ElemT ∗, DefaultFlags >, 220

Hhostm::tools::LvdsPacket::DataType, 306

hostbigendianModDivAids, 31

hostlittleendianModDivAids, 31

hsTadsibstm::tools::MsgTimestamp, 326

hsTadsib_stm::tools::local::xMsgTimestamp, 476

hullstm::integral_set, 279

iappendstm::local::xfilespec, 431

idstm::local::xfilespec, 435stm::smartptr::local::item_descr< T, Compare,

false, false >, 288stm::smartptr::local::item_descr< T, Compare,

false, true >, 290stm::smartptr::local::item_descr< T, Compare,

true, false >, 291stm::smartptr::local::item_descr< T, Compare,

true, true >, 293stm::smartptr::local::item_type, 295stm::smartptr::local::mapped_ptr, 312stm::smartptr::local::mapped_ptr< T, Com-

pare, Allocator, refcounted, false >, 317Xyz, 491

id_stm::smartptr::local::mapped_ptr, 313stm::smartptr::local::mapped_ptr::rangeid_-

type, 315stm::smartptr::local::mapped_ptr< T, Com-

pare, Allocator, refcounted, false>::rangeid_type, 319

Identificationstm::tools::local::xMcBspMessage::Identification,

470stm::tools::local::xPrintkBinMessage::Identification,

479identity

ModDivAids, 38impl

stm::basic_logger, 133stm::crc, 170stm::filefind, 195stm::fixedfmt, 212stm::hexfmt, 216stm::hexfmt< ElemT ∗, DefaultFlags >, 220stm::inputrange, 246stm::inputrange_iterator, 254stm::integral_range, 261stm::integral_set, 273stm::local::xdirdata, 422stm::local::xfilefind, 426stm::local::xfilespec, 430stm::local::xfilespeclist, 439stm::local::xinputrange, 444stm::local::xinputrange_iterator, 450stm::local::xIntegral_range, 454stm::local::xIntegral_set, 458stm::local::xrecursionenv, 484stm::path::dirdata, 343stm::tools::local::xArgList, 399stm::tools::local::xCt, 417

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 631: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 630

stm::tools::local::xCtOperation, 419Include

stm::tools::CtExceptions, 181increfcount

stm::smartptr::local::item_descr< T, Compare,false, false >, 288

stm::smartptr::local::item_descr< T, Compare,false, true >, 290

stm::smartptr::local::item_descr< T, Compare,true, false >, 291

stm::smartptr::local::item_descr< T, Compare,true, true >, 293

IndentModLoggerAids, 65stm::local::basic_xlogger, 139

indent_stm::local::basic_xlogger::Fmt, 143

indexstm::local::basic_xlogger::Stream, 147

index_Node, 329

infixstm::local::BraceExpand::Data::Tail, 162

initstm::smartptr::local::mapped_ptr, 312stm::smartptr::local::mapped_ptr< T, Com-

pare, Allocator, refcounted, false >, 317Sudoku, 377Sudoku::State, 381

initializeDivAidsImpl, 50, 54stm::local::xfilespec, 430

initSyslogModDebugAids, 22

InjOperation::Mode, 334

injective_ptrstm::smartptr::injective_ptr, 229, 230

injective_ptr_typestm::smartptr::injective_set, 238

injective_setstm::smartptr::injective_set, 238

inputstm::tools::BaseMessageContext, 129

input_stm::tools::local::xBaseMessageContext, 405

InputFilestm::inputseq, 257

inputfile_typestm::inputrange, 246stm::local::xinputrange, 445

InputFileSetstm::inputseq, 257

inputrange

stm::inputrange, 247inputrange_iterator

stm::inputrange_iterator, 254inputrange_type

stm::inputrange_iterator, 254stm::local::xinputrange_iterator, 450stm::tools::BaseMessageContext, 127stm::tools::BinMessageContext, 155stm::tools::local::xBaseMessageContext, 404

inputReflectionstm::crc, 172

inputseqstm::inputseq, 257

insertstm::filefind, 196stm::smartptr::injective_set, 239

int16ModDivAids, 30

int32ModDivAids, 30

int64ModDivAids, 30

int8ModDivAids, 30

integral_iteratorDivAidsImpl, 51, 52

integral_rangestm::integral_range, 261

integral_setstm::integral_set, 274

integral_typestm::integral_range, 261stm::integral_set, 273stm::local::xIntegral_range, 454stm::local::xIntegral_set, 458

Invalidstm::tools::local::xMsgTimestamp, 475stm::tools::MsgTimestamp, 324

invertstm::integral_set, 284

is_maximalstm::local::xIntegral_range, 454

is_minimalstm::local::xIntegral_range, 454

is_multirangestm::smartptr::injective_ptr, 232

is_signedstm::local::xIntegral_range, 454

is_surjectivestm::smartptr::injective_ptr, 232

isAbsolutestm::filespec, 204

isCheckedOutstm::tools::Ct, 176

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 632: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 631

isContainedInstm::pstring, 354

isEndstm::inputrange, 248

isErrorstm::inputrange, 248

isFpgastm::tools::MsgTimestamp, 325

isLabelstm::tools::CtOperation, 185

isTextfilestm::readablefile, 357

isUdpstm::tools::MsgTimestamp, 325

isVobElementstm::tools::Ct, 175

isWin32ExecutableModFilesysAids, 41

itemstm::smartptr::local::item_descr< T, Compare,

false, true >, 290stm::smartptr::local::item_descr< T, Compare,

true, true >, 294item_descr

stm::smartptr::local::item_descr< T, Compare,false, false >, 288

stm::smartptr::local::item_descr< T, Compare,false, true >, 290

stm::smartptr::local::item_descr< T, Compare,true, false >, 291

stm::smartptr::local::item_descr< T, Compare,true, true >, 293

item_tstm::smartptr::local::item_descr< T, Compare,

false, true >, 290stm::smartptr::local::item_descr< T, Compare,

true, true >, 293item_type

stm::smartptr::local::item_type, 295iterator

stm::integral_set, 273stm::local::xIntegral_set, 458

KeepWsModLoggerAids, 65stm::local::basic_xlogger, 139

labelstm::tools::CtOperation, 185

labelCountstm::tools::CtOperation, 185

labelList_stm::tools::local::xCtOperation, 419

labelsPrepared_

stm::tools::local::xCtOperation, 420last

stm::integral_range, 263LastPart

stm::local::xfilespec::Env, 436Length

stm::tools::local::xTraceHeader, 490length

stm::tools::BinMessageContext::Gap, 158length_

stm::local::basic_xlogger::Fmt, 143stm::tools::local::xBinMessageGap, 412

LengthErrorstm::tools::LvdsPacket, 302

limit_stm::tools::local::xArgList, 399

limitedPathstm::pstring, 354

LineLengthModLoggerAids, 65

littleendianModDivAids, 31

loadstm::smartptr::local::mapped_ptr, 312stm::smartptr::local::mapped_ptr< T, Com-

pare, Allocator, refcounted, false >, 318TestPtr, 391TestSet, 395

loadOnlyOperation, 332

local::xBinMessage< ContextT >stm::tools::BinMessageContext, 156

local::xcondition::wait_stm::scoped_lock, 370

local::xsystem_condition::wait_stm::system_scoped_lock, 389

lockerModLoggerAids, 65stm::local::basic_xlogger::locker, 144

locker_basestm::local::basic_xlogger, 138

lockingstm::local::basic_xlogger, 138

LockingPolicyModLoggerAids, 65stm::logger_base, 298

LogErrorModDebugAids, 22

Loggerstm::tools::Ct, 174stm::tools::local::xCt, 417stm::tools::local::xCtOperation, 419

loggerModLoggerAids, 69, 70

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 633: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 632

stm::logger, 297stm::tools::Ct, 174

logger_stm::tools::local::xCt, 417

logger_typeModLoggerAids, 64stm::basic_logger::locker, 135

LoggerAids Implementation, 58loggeraids.hpp, 535LoggerAids: Formatted Logging Aids, 60LoggerAidsImpl

psep_, 58PsepLen, 58

loggerxaids.hpp, 537STM_LOGGERXAIDS_HPP, 539

LogInfoModDebugAids, 22

LogLevelMaskModDebugAids, 22

LogNoPerrorModDebugAids, 22

LogPerrorModDebugAids, 22

LogWarningModDebugAids, 22

LowerCasestm::fmtflags, 213

LvdsPacketstm::tools::LvdsPacket, 302

LvdsPacket Implementation, 80lvdspacket.hpp, 539LvdsPacket: LVDS Packet Model, 83LvdsPacketImpl

stm::tools::LvdsPacket, 301lvdsSubslot

stm::tools::LvdsPacket, 303lvdsSubslot_

stm::tools::local::xLvdsPacket, 465

mainDivAidsTest, 87FilesysAidsTest, 89GenCrcTest, 90SmartptrAidsTest, 92StmAidsTest, 96

MakeAbsolutestm::filespec, 205stm::local::xfilespec, 434

makedirModFilesysAids, 41

manFilesysAidsTest, 89SmartptrAidsTest, 93StmAidsTest, 97

mapped_ptrstm::smartptr::local::mapped_ptr, 311stm::smartptr::local::mapped_ptr< T, Com-

pare, Allocator, refcounted, false >, 316,317

mapped_ptr_implstm::smartptr::injective_ptr, 227stm::smartptr::local::mapped_ptr, 311stm::smartptr::local::mapped_ptr< T, Com-

pare, Allocator, refcounted, false >, 316mastershipTimeout_

stm::tools::local::xCtOperation, 419match

DivAidsImpl, 50, 54matches

stm::filespec, 201stm::filespeclist, 209

maxstm::integral_set, 279

MaxAntennasstm::tools::LvdsPacket, 302

MaxPayloadLengthstm::tools::LvdsPacket, 302

MaxValstm::integral_range, 266stm::integral_set, 287stm::local::xIntegral_range, 456stm::local::xIntegral_set, 459

McBspMessagestm::tools::McBspMessage, 322

McBspMessage< context_type >stm::tools::local::xMcBspMessage, 468

McBspMessageImplstm::tools::McBspMessage, 321

McBspMsg Implementation, 81mcbspmsg.hpp, 540McBspMsg: McBSP Message Model, 83McBspMsgImpl

type_, 81message_

stm::tools::local::xBinMessage, 407min

stm::integral_set, 279minIndent_

stm::local::basic_xlogger::Fmt, 143Minus

stm::tools::LvdsPacket::Aich, 305MinVal

stm::integral_range, 266stm::integral_set, 287stm::local::xIntegral_range, 456stm::local::xIntegral_set, 459

mkIteratorDivAidsImpl, 53

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 634: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 633

mkPathModLoggerAids, 69

ModDebugAidsinitSyslog, 22LogError, 22LogInfo, 22LogLevelMask, 22LogNoPerror, 22LogPerror, 22LogWarning, 22StmDebugAidsErrmsg, 20StmDebugAidsVerify, 20syslog, 22SyslogError, 22SyslogFlags, 21SyslogInfo, 22SyslogLevelMask, 22SyslogNoLog, 22SyslogNoPerror, 22SyslogPerror, 22SyslogWarning, 22

ModDivAidsaddrword, 30bigendian, 31byte, 30clamped_offset, 35clamped_rest, 35dword, 30endianConvertedIf, 33endianConvertIf, 32fetch, 31find_token_end, 36, 37find_trim_back, 36find_trim_front, 37get, 31hostbigendian, 31hostlittleendian, 31identity, 38int16, 30int32, 30int64, 30int8, 30littleendian, 31networkByteOrderConvert, 32networkByteOrderConverted, 33nrOfSetBits, 35operator<<, 34, 35operator>>, 34pad, 33put, 33qword, 30StmRectrlTry, 29swap, 32swapped, 32

tolower, 38trim, 37, 38trim_back, 35, 36trim_front, 37word, 30

modeOperation, 332

mode_stm::tools::local::xCt, 418

ModFilesysAidsbrace_expand, 41designateSame, 42getkey, 41isWin32Executable, 41makedir, 41numpath, 41operator!=, 43operator<, 42operator==, 42, 43sizedfile, 41swap, 42

ModLoggerAids∼basic_logger, 66∼locker, 66adjustChild, 68AutoInd, 65basic_logger, 66char_type, 64ColonInd, 65ColonTable, 65Fmt, 65FmtFlags, 65hasConsole, 67hasStream, 67Indent, 65KeepWs, 65LineLength, 65locker, 65LockingPolicy, 65logger, 69, 70logger_type, 64mkPath, 69NoFlag, 65NoPara, 65operator(), 68ostream_type, 64paragraph, 69RawPath, 65RiJust, 65setConsole, 67, 70, 71setStream, 67Single, 65StdIndent, 65string_type, 64

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 635: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 634

underline, 69unsetConsole, 68unsetStream, 67wlogger, 70, 71

ModSmartptrAidsget_pointer, 75Multirange, 75operator!=, 74operator<, 74operator<<, 75operator==, 74Surjective, 75swap, 74

MsgTimestampstm::tools::MsgTimestamp, 325

MsgTimestamp Implementation, 82msgtimestamp.hpp, 541MsgTimestamp: Message Timestamp Model, 84MsgTimestampImpl

stm::tools::local::xMsgTimestamp, 474Multirange

ModSmartptrAids, 75multirange

stm::smartptr::MakeMultirange, 308stm::smartptr::MakeSurjective, 309stm::smartptr::policy, 349

mutex_stm::local::xscoped_lock, 486stm::local::xsystem_scoped_lock, 488

nSudoku, 378

n2Sudoku, 378

n3Sudoku, 378

n4Sudoku, 378

name_typestm::path, 337stm::readablefile, 356

nativeSeparatorstm::pstring, 354

networkByteOrderConvertModDivAids, 32

networkByteOrderConvertedModDivAids, 33

nilstm::smartptr::injective_set, 238

nlsstm::local::basic_xlogger::Stream, 147

no_lockstm::local::basic_xlogger::no_lock, 145

NoBraceExpansion

stm::filespeclist, 210stm::local::xfilespeclist, 439

NoBracketExprstm::filespec, 206stm::local::xfilespec, 434

noBracketExprFileSpecstm::local::xfilespec, 435

NoCharClassstm::filespec, 205stm::local::xfilespec, 434

noCharClassFileSpecstm::local::xfilespec, 435

Node, 327index_, 329Node, 328offset, 328offset_, 329operator<, 328parent_, 329Ptr, 328slot, 328slot_, 329

nodesSmartptrAidsTest, 95

NodeSetSmartptrAidsTest, 92

NoDirectoriesstm::filefind, 197stm::local::xfilefind, 427

NoErrorstm::tools::BaseMessage, 123stm::tools::BinMessage, 152stm::tools::DspMessage, 189stm::tools::LvdsPacket, 302

NoFlagModLoggerAids, 65stm::local::basic_xlogger, 139

NoFlagsstm::filefind, 197stm::filespec, 205stm::filespeclist, 210stm::fmtflags, 213stm::path::recursionenv, 346stm::tools::BaseMessage, 123stm::tools::BinMessage, 152stm::tools::CtExceptions, 181

NoLockingstm::logger_base, 298

NoParaModLoggerAids, 65stm::local::basic_xlogger, 139

NoPathSeparatorsstm::filespec, 205stm::local::xfilespec, 433

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 636: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 635

NoPlainFilesstm::filefind, 198stm::local::xfilefind, 427

NoPrefixstm::fmtflags, 213

noprefixstm::hexfmt, 217stm::hexfmt< ElemT ∗, DefaultFlags >, 221

Normalstm::tools::Ct::Mode, 178

normalizestm::filespec, 204

NoRootNamestm::filespec, 205stm::local::xfilespec, 433

notReadSizestm::inputrange, 249

notReadSize_stm::local::xinputrange, 447

nrOfSetBitsModDivAids, 35

numpathModFilesysAids, 41

numpstringstm::numpstring, 331

obtainReplicaMastershipstm::tools::CtOperation, 184

offsetNode, 328stm::inputrange, 249stm::tools::BinMessageContext::Gap, 158

offset_Node, 329stm::local::xinputrange, 447stm::tools::local::xBinMessageGap, 412

opCodestm::tools::DspMessage::TraceHeader, 192

opCode_stm::tools::local::xTraceHeader, 490

Operation, 331archive, 333dir, 333loadOnly, 332mode, 332Operation, 332type, 332

Operation::Archive, 333All, 334Bin, 334Txt, 334Xml, 334

Operation::Mode, 334All, 334

Bij, 334Inj, 334

Operation::Type, 334All, 335Ptr, 335Set, 335

operator ∗DivAidsImpl, 51stm::inputrange_iterator, 255stm::smartptr::injective_ptr, 231stm::smartptr::local::repository_type::range_-

iterator, 364stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false>::range_iterator, 369

operator &stm::integral_range, 263, 264stm::integral_set, 281

operator &=stm::integral_range, 264stm::integral_set, 281, 282

operator boolstm::smartptr::injective_ptr, 231stm::tools::BinMessageContext::Gap, 158stm::tools::local::xMcBspMessage::Identification,

470stm::tools::local::xPrintkBinMessage::Identification,

479operator const RangeSetT &

stm::integral_set, 277operator ElemT ∗

stm::hexfmt< ElemT ∗, DefaultFlags >, 220operator FloatT

stm::fixedfmt, 212operator std::string

stm::local::errmsg, 193operator stm::dword

stm::smartptr::local::mapped_ptr::rangeid_-type, 314

stm::smartptr::local::mapped_ptr< T, Com-pare, Allocator, refcounted, false>::rangeid_type, 319

operator StringTstm::hexfmt, 217stm::hexfmt< ElemT ∗, DefaultFlags >, 221

operator UnsignedTstm::hexfmt, 216

operator!=DivAidsImpl, 51ModFilesysAids, 43ModSmartptrAids, 74stm::integral_range, 266stm::integral_set, 286, 287

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 637: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 636

stm::smartptr::local::repository_type::range_-iterator, 364

stm::smartptr::local::repository_type< T,Compare, Allocator, refcounted, false>::range_iterator, 368

operator<ModFilesysAids, 42ModSmartptrAids, 74Node, 328Slot, 372SmartptrAidsTest, 92stm::filespec, 202stm::integral_range, 265stm::smartptr::local::item_type, 295

operator<<ModDivAids, 34, 35ModSmartptrAids, 75stm::local::errmsg, 193

operator<=stm::integral_range, 265stm::integral_set, 285

operator>>ModDivAids, 34

operator>=stm::integral_range, 265stm::integral_set, 285, 286

operator∼stm::integral_set, 284

operator∧

stm::integral_set, 283operator∧=

stm::integral_set, 283, 284operator()

ModLoggerAids, 68stm::crc, 171, 172stm::local::BraceExpand::Data, 161stm::nospace, 330stm::path::dirdata, 344stm::smartptr::local::comp_id, 164stm::smartptr::local::comp_value, 164, 165stm::smartptr::local::comp_value_id, 165stm::smartptr::local::decrefcount, 186stm::smartptr::local::increfcount, 222stm::smartptr::local::pcomp, 347stm::space, 373stm::tools::local::xMcBspMessage::Identification,

470stm::tools::local::xPrintkBinMessage::Identification,

479operator++

DivAidsImpl, 52stm::inputrange_iterator, 255stm::smartptr::local::repository_type::range_-

iterator, 364

stm::smartptr::local::repository_type< T,Compare, Allocator, refcounted, false>::range_iterator, 368

operator+=stm::tools::Ct::ArgList, 177

operator-stm::integral_set, 282stm::path, 339

operator->stm::inputrange_iterator, 255stm::smartptr::injective_ptr, 231stm::smartptr::local::repository_type::range_-

iterator, 364stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false>::range_iterator, 369

operator–DivAidsImpl, 52

operator-=stm::integral_set, 282, 283

operator=stm::integral_set, 276stm::local::xinputrange, 446stm::smartptr::injective_ptr, 230stm::smartptr::injective_set::accessor, 243

operator==DivAidsImpl, 51ModFilesysAids, 42, 43ModSmartptrAids, 74stm::filespec, 202stm::integral_range, 265, 266stm::integral_set, 286stm::local::basic_xlogger::Fmt, 143stm::smartptr::local::repository_type::range_-

iterator, 364stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false>::range_iterator, 368

TestPtr, 391TestSet, 395

operator|stm::integral_set, 280

operator|=stm::integral_set, 280, 281

optassignDivAidsImpl, 51

optrangeDivAidsImpl, 55

optrangesDivAidsImpl, 55

ostream_typeModLoggerAids, 64stm::local::basic_xlogger, 138

OutOfSync

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 638: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 637

stm::tools::BaseMessage, 123stm::tools::BinMessage, 152

outputstm::local::basic_xlogger, 142

pSmartptrAidsTest, 95

padModDivAids, 33

paragraphModLoggerAids, 69

parentstm::path::dirdata, 344stm::tools::DspMessage, 190stm::tools::LvdsPacket, 304

parent_Node, 329stm::local::xdirdata, 422stm::local::xIntegral_set::integral_iterator, 462stm::tools::local::xDspMessage, 424stm::tools::local::xLvdsPacket, 466

parent_typestm::tools::DspMessage, 188stm::tools::local::xDspMessage, 424stm::tools::local::xLvdsPacket, 464stm::tools::LvdsPacket, 301

partitionstm::local::xfilefind, 426stm::local::xfilespec, 430

pathstm::path, 337, 338

path_typestm::filefind, 195stm::local::xfilefind, 426

pathcontainer_typestm::filefind, 195stm::local::xfilefind, 426

PATHLENctaids.cpp, 497

PathSepstm::local::xfilespec::Env, 437

PayloadLengthstm::tools::LvdsPacket::Aich, 305

payloadLengthstm::tools::DspMessage::TraceHeader, 192

payloadLength_stm::tools::local::xTraceHeader, 490

PayloadLengthErrorstm::tools::LvdsPacket, 302

PlainFilestm::tools::CtExceptions, 181

Plusstm::tools::LvdsPacket::Aich, 305

pointee_type

stm::smartptr::local::pointee_type, 348policy_type

stm::smartptr::injective_ptr, 228stm::smartptr::injective_set, 237

postfixstm::local::BraceExpand::Data::Tail, 162

potSudoku::State, 385

prec_stm::local::xfixedfmt, 440

precisionstm::fixedfmt, 212

preparestm::tools::local::xCtOperation::LabelList,

420prepareLabels

stm::tools::CtOperation, 185printch

stm::local::basic_xlogger, 141PrintkBinMessage

stm::tools::PrintkBinMessage, 351PrintkBinMessage< context_type >

stm::tools::local::xPrintkBinMessage, 477PrintkBinMessageImpl

stm::tools::PrintkBinMessage, 351PrintkBinMsg Implementation, 82printkbinmsg.hpp, 543PrintkBinMsg: PrintkBin Message Model, 85PrintkBinMsgImpl

type_, 83priority

stm::tools::LvdsPacket, 303priority_

stm::tools::local::xLvdsPacket, 465PriorityError

stm::tools::LvdsPacket, 302ProcessLocking

stm::logger_base, 298psep_

LoggerAidsImpl, 58PsepChars

FilesysAidsImpl, 57PsepLen

LoggerAidsImpl, 58PsepRe

FilesysAidsImpl, 57pStream

stm::local::basic_xlogger::Stream, 146pstring

stm::pstring, 353Ptr

Node, 328Operation::Type, 335

ptr

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 639: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 638

stm::smartptr::bijective, 148stm::smartptr::injective, 223stm::smartptr::local::item_descr< T, Compare,

false, false >, 289stm::smartptr::local::item_descr< T, Compare,

false, true >, 290stm::smartptr::local::item_descr< T, Compare,

true, false >, 292stm::smartptr::local::item_descr< T, Compare,

true, true >, 293stm::smartptr::local::item_type, 295Xyz, 491

ptr1SmartptrAidsTest, 94

ptr2SmartptrAidsTest, 94

ptr_stm::smartptr::local::mapped_ptr, 313stm::smartptr::local::mapped_ptr< T, Com-

pare, Allocator, refcounted, false >, 318put

ModDivAids, 33

qwordModDivAids, 30

RandomSolutionSudoku, 375

randomValSudoku::State, 384

rangeDivAidsImpl, 55stm::local::xIntegral_set::Env, 461stm::smartptr::injective_ptr, 233stm::smartptr::injective_set, 239stm::smartptr::local::repository_type, 361stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false >,366

range_stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false >,367

range_availablestm::smartptr::injective_ptr, 234

range_definedstm::smartptr::injective_ptr, 234

range_emptystm::smartptr::injective_ptr, 234

range_iteratorstm::integral_set, 274stm::smartptr::local::repository_type::range_-

iterator, 363

stm::smartptr::local::repository_type< T,Compare, Allocator, refcounted, false>::range_iterator, 368

range_mapstm::smartptr::local::repository_type, 360

range_typestm::integral_range, 261stm::integral_set, 273stm::local::xIntegral_set, 458stm::smartptr::injective_ptr, 228stm::smartptr::injective_set, 238stm::smartptr::local::repository_type, 360stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false >,365

rangeAvailablestm::smartptr::local::repository_type, 362stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false >,367

rangeDefinedstm::smartptr::local::repository_type, 362stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false >,367

rangeEmptystm::smartptr::local::repository_type, 361stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false >,367

rangeidstm::smartptr::injective_ptr, 233

rangeid_stm::smartptr::injective_set, 240

rangeid_setstm::smartptr::local::repository_type, 360

rangeid_typestm::smartptr::injective_ptr, 228stm::smartptr::local::mapped_ptr::rangeid_-

type, 314stm::smartptr::local::mapped_ptr< T, Com-

pare, Allocator, refcounted, false>::rangeid_type, 319

rangeOfDivAidsImpl, 53

rangesDivAidsImpl, 55stm::integral_set, 279

ranges_stm::smartptr::local::repository_type, 362

rangesetstm::local::xIntegral_set::Env, 461

rangeset_typestm::integral_set, 273

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 640: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 639

stm::local::xIntegral_set, 458RawPath

ModLoggerAids, 65stm::local::basic_xlogger, 139

rbeginstm::integral_set, 275

rbeginrangestm::integral_set, 276

rbuf_stm::local::xinputrange_iterator, 451

restm::local::BraceExpand, 159stm::local::xfilespec, 434

re_stm::local::BraceExpand, 159

readstm::inputrange, 247Sudoku, 376Sudoku::State, 381

readablefilestm::readablefile, 356

reCtrlstm::local::xfilespec, 435

recursestm::path, 339, 340

recursionenvstm::path::recursionenv, 346

refcountstm::smartptr::local::item_descr< T, Compare,

true, false >, 292stm::smartptr::local::item_descr< T, Compare,

true, true >, 294refcount_type

SmartptrAidsImpl, 60stm::smartptr::injective_ptr, 228

reflectstm::local::xcrc, 415

reflect_stm::local::xcrc, 416

regexpstm::local::xfilespec::Env, 437

registerMessageTypestm::tools::BinMessageContext, 156

relative_to_directorystm::path, 339

removestm::smartptr::local::repository_type, 361stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false >,366

rempol_typestm::crc, 170stm::local::xcrc, 415

rend

stm::integral_set, 275rendrange

stm::integral_set, 276rep_by_ptr_

stm::smartptr::local::repository_type, 362reportClose

stm::inputrange, 251reportError

stm::inputrange, 251reportOpen

stm::inputrange, 251repository

stm::smartptr::injective_ptr, 227stm::smartptr::local::mapped_ptr, 311stm::smartptr::local::mapped_ptr< T, Com-

pare, Allocator, refcounted, false >, 316repository_

stm::smartptr::local::mapped_ptr, 313stm::smartptr::local::mapped_ptr< T, Com-

pare, Allocator, refcounted, false >, 318repository_type

stm::smartptr::local::repository_type, 360stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false >,366

ReqHeaderWordOneBitsMaskstm::tools::local::xMcBspMessage::Identification,

473ReqHeaderWordZeroBitsMask

stm::tools::local::xMcBspMessage::Identification,473

RequiredOneBitsMaskSize4stm::tools::local::xMcBspMessage::Identification,

473RequiredOneBitsMaskSize5

stm::tools::local::xMcBspMessage::Identification,473

RequiredZeroBitsMaskSize4stm::tools::local::xMcBspMessage::Identification,

472RequiredZeroBitsMaskSize5

stm::tools::local::xMcBspMessage::Identification,473

resetstm::local::xfilespec::Env, 436stm::smartptr::injective_ptr, 230

restoreSudoku::State, 384

reStrstm::filespec, 201

retstm::local::basic_xlogger::Stream, 147

reverse_iteratorstm::integral_set, 274

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 641: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 640

stm::local::xIntegral_set, 459reverse_range_iterator

stm::integral_set, 274rfind

stm::integral_set, 278rfindrange

stm::integral_set, 278RiJust

ModLoggerAids, 65stm::local::basic_xlogger, 139

rit_stm::local::xIntegral_set::integral_iterator, 462

Rollbackstm::local::xfilespec::Rollback, 438

rootstm::path::recursionenv, 346

root_stm::local::xrecursionenv, 484

rootNodeSmartptrAidsTest, 95

rootSlotSmartptrAidsTest, 95

rowSudoku, 378

Rsvstm::tools::LvdsPacket::DataType, 306

rsvstm::tools::LvdsPacket, 304

rsv_stm::tools::local::xLvdsPacket, 466

safe_getstm::byte_iterator_range, 163

savestm::smartptr::local::mapped_ptr, 312stm::smartptr::local::mapped_ptr< T, Com-

pare, Allocator, refcounted, false >, 318TestPtr, 391TestSet, 394

scanstm::local::xinputrange_iterator, 451

scoped_lockstm::scoped_lock, 370

seqNostm::tools::local::xPrintkBinMessage::Identification,

480stm::tools::MsgTimestamp, 326

seqNo_stm::tools::local::xMsgTimestamp, 475stm::tools::local::xPrintkBinMessage::Identification,

482serialize

stm::smartptr::local::mapped_ptr, 313

stm::smartptr::local::mapped_ptr< T, Com-pare, Allocator, refcounted, false >, 318

stm::smartptr::local::pointee_type, 348Set

Operation::Type, 335set

stm::smartptr::bijective, 148stm::smartptr::injective, 223

setassignDivAidsImpl, 54

setBodystm::tools::BaseMessage, 125

setBufStepstm::inputrange, 249

setCiCommentOptionstm::tools::Ct, 175

setConsoleModLoggerAids, 67, 70, 71

setFpgaTimestampstm::tools::BaseMessage, 125

setInputstm::inputrange, 247stm::local::xinputrange, 446

setMastershipTimeoutstm::tools::CtOperation, 184

setModestm::tools::Ct, 175

setpathstm::readablefile, 357

setStatusstm::tools::BaseMessage, 124

setStreamModLoggerAids, 67

setTimestampstm::tools::BaseMessageContext, 129stm::tools::local::xBaseMessage, 401

setTypestm::tools::BaseMessageContext, 128

setUdpTimestampstm::tools::BaseMessage, 125

setVobRootstm::tools::CtOperation, 183

signalstm::condition, 167stm::system_condition, 387

silentSudoku, 377

Simulatestm::tools::Ct::Mode, 178

SingleModLoggerAids, 65stm::local::basic_xlogger, 139

SingleSpecstm::filespeclist, 210

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 642: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 641

stm::local::xfilespeclist, 439size

stm::integral_range, 263stm::integral_set, 278stm::local::xfilespec::Rollback, 438stm::smartptr::injective_set, 240stm::tools::DspMessage::TraceHeader, 191stm::tools::local::xMcBspMessage::Identification,

470stm::tools::local::xPrintkBinMessage::Identification,

479Size4

stm::tools::local::xMcBspMessage::Identification,469

Size5stm::tools::local::xMcBspMessage::Identification,

470size_

stm::local::xIntegral_set, 459stm::tools::local::xMcBspMessage::Identification,

472stm::tools::local::xPrintkBinMessage::Identification,

481stm::tools::local::xTraceHeader, 489

SizeAbcdstm::tools::local::xPrintkBinMessage::Identification,

479sizedfile

ModFilesysAids, 41SizeZyxw

stm::tools::local::xPrintkBinMessage::Identification,478

Slot, 371child, 371children_, 372disp, 371disp_, 372operator<, 372Slot, 371

slotNode, 328stm::tools::local::xMcBspMessage::Identification,

471stm::tools::MsgTimestamp, 326

slot_Node, 329stm::tools::local::xMcBspMessage::Identification,

472stm::tools::local::xMsgTimestamp, 475

SmartptrAids Implementation, 59SmartptrAids Test, 90smartptraids.hpp, 544SmartptrAids: Smart Pointer Aids, 71SmartptrAidsImpl

refcount_type, 60SmartptrAidsTest

Copyright, 93main, 92man, 93nodes, 95NodeSet, 92operator<, 92p, 95ptr1, 94ptr2, 94rootNode, 95rootSlot, 95testptr, 92testset, 92Version, 93xyz1, 95xyz2, 95XyzPtr, 92

smartptrtest.cpp, 547smartptrxaids.hpp, 548

STM_SMARTPTRXAIDS_HPP, 552solve

Sudoku, 376Sudoku::State, 381

starStarOpstm::local::xfilespec, 432

StateSudoku, 377Sudoku::State, 380

stateSudoku, 377

StatePtrSudoku, 375

statusstm::tools::BaseMessage, 124stm::tools::BinMessage, 153stm::tools::DspMessage, 189stm::tools::LvdsPacket, 303stm::tools::MsgTimestamp, 325

status_stm::tools::local::xBaseMessage, 402stm::tools::local::xDspMessage, 424stm::tools::local::xLvdsPacket, 465stm::tools::local::xMsgTimestamp, 475

std::basic_ostringstream, 373std::map, 373StdIndent

ModLoggerAids, 65stem_

stm::local::xfilefind, 427stm, 104stm::basic_logger, 129

impl, 133

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 643: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 642

stm::basic_logger::Fmt, 133Fmt, 134

stm::basic_logger::locker, 134logger_type, 135

stm::buffer, 111stm::byte_iterator_range, 162

byte_iterator_range, 163safe_get, 163

stm::condition, 166∼condition, 167broadcast, 167condition, 167signal, 167timed_wait, 167wait, 167

stm::crc, 168crc, 170defaultInitialRemainderPolynomial, 172generatorPolynomial, 172impl, 170inputReflection, 172operator(), 171, 172rempol_type, 170

stm::filefind, 194filefind, 196getFlags, 197getStem, 197impl, 195insert, 196NoDirectories, 197NoFlags, 197NoPlainFiles, 198path_type, 195pathcontainer_type, 195StoreRelative, 198

stm::filespec, 198beginsWithRootDirectory, 205beginsWithRootName, 204containsUnescapedBrace, 204containsUnescapedEreOperator, 204containsUnescapedPatternMatchingOperator,

203filespec, 201findFirstOfUnescaped, 202findLastOfUnescaped, 203findUnescapedParentheses, 203getFlags, 202getSpec, 202getState, 202isAbsolute, 204MakeAbsolute, 205matches, 201NoBracketExpr, 206NoCharClass, 205

NoFlags, 205NoPathSeparators, 205normalize, 204NoRootName, 205operator<, 202operator==, 202reStr, 201UseExtRegularExpr, 206UseMultipleDirOperator, 206

stm::filespeclist, 206append, 209clear, 209const_iterator, 208filespeclist, 208matches, 209NoBraceExpansion, 210NoFlags, 210SingleSpec, 210

stm::fixedfmt, 210fixedfmt, 212impl, 212operator FloatT, 212precision, 212value_type, 212

stm::fmtflags, 213LowerCase, 213NoFlags, 213NoPrefix, 213

stm::has_pow2size, 213value, 214

stm::hexfmt, 214defaultFlags, 218dump, 217flags, 216, 217hexfmt, 216impl, 216noprefix, 217operator StringT, 217operator UnsignedT, 216value_type, 216

stm::hexfmt< ElemT ∗, DefaultFlags >, 218defaultFlags, 221flags, 220hexfmt, 220impl, 220noprefix, 221operator ElemT ∗, 220operator StringT, 221value_type, 220

stm::inputrange, 243∼inputrange, 247bufAdvance, 250bufEnd, 250bufExhausted, 250

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 644: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 643

bufFull, 250bufPtr, 250bufSetup, 249BufSize, 247clear, 247file, 248fileOffset, 248filerange_type, 246impl, 246inputfile_type, 246inputrange, 247isEnd, 248isError, 248notReadSize, 249offset, 249read, 247reportClose, 251reportError, 251reportOpen, 251setBufStep, 249setInput, 247totalSize, 249

stm::inputrange_iterator, 251∼inputrange_iterator, 255bufrange_type, 254context_type, 254equal, 255impl, 254inputrange_iterator, 254inputrange_type, 254operator ∗, 255operator++, 255operator->, 255

stm::inputseq, 256base, 257InputFile, 257InputFileSet, 257inputseq, 257

stm::integral_range, 257assign, 262clear, 264empty, 263EmptyAllowed, 267emptyrange, 264fill, 264from, 262full, 263fullrange, 264impl, 261integral_range, 261integral_type, 261last, 263MaxVal, 266MinVal, 266

operator &, 263, 264operator &=, 264operator!=, 266operator<, 265operator<=, 265operator>=, 265operator==, 265, 266range_type, 261size, 263swap, 262to, 263

stm::integral_set, 267assign, 277begin, 275beginrange, 275clear, 284const_iterator, 274const_reverse_iterator, 274empty, 279emptyset, 284end, 275endrange, 276fill, 285find, 277findrange, 278full, 279fullset, 285hull, 279impl, 273integral_set, 274integral_type, 273invert, 284iterator, 273max, 279MaxVal, 287min, 279MinVal, 287operator &, 281operator &=, 281, 282operator const RangeSetT &, 277operator!=, 286, 287operator<=, 285operator>=, 285, 286operator∼, 284operator∧, 283operator∧=, 283, 284operator-, 282operator-=, 282, 283operator=, 276operator==, 286operator|, 280operator|=, 280, 281range_iterator, 274range_type, 273

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 645: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 644

ranges, 279rangeset_type, 273rbegin, 275rbeginrange, 276rend, 275rendrange, 276reverse_iterator, 274reverse_range_iterator, 274rfind, 278rfindrange, 278size, 278swap, 277

stm::local, 113stm::local::basic_xlogger

AutoInd, 139ColonInd, 139ColonTable, 139Indent, 139KeepWs, 139NoFlag, 139NoPara, 139RawPath, 139RiJust, 139Single, 139Streams, 139

stm::local::basic_xlogger::StreamColonFound, 146ColonInactive, 146ColonReady, 146ColonScan, 146

stm::local::basic_xlogger, 135adjustSync, 140, 141basic_xlogger, 139, 140char_type, 138clearNls, 141destroySync, 140locker_base, 138locking, 138ostream_type, 138output, 142printch, 141string_type, 138sync_, 142tprint, 141

stm::local::basic_xlogger::Fmt, 142flags_, 144Fmt, 143indent_, 143length_, 143minIndent_, 143operator==, 143

stm::local::basic_xlogger::locker, 144∼locker, 144locker, 144

stm::local::basic_xlogger::no_lock, 145no_lock, 145

stm::local::basic_xlogger::Stream, 145colonState, 147fmt, 147index, 147nls, 147pStream, 146ret, 147wrapped, 147

stm::local::BraceExpand, 159re, 159re_, 159toExpand, 159

stm::local::BraceExpand::Data, 160∼Data, 160Data, 160head, 161operator(), 161tail, 161

stm::local::BraceExpand::Data::Tail, 161∼Tail, 161infix, 162postfix, 162Tail, 161

stm::local::errmsg, 193active, 193errmsg, 193operator std::string, 193operator<<, 193

stm::local::xcondition, 412cond_, 413xcondition, 413

stm::local::xcrc, 413∼xcrc, 415ByteLen, 415defaultInitialRemainderPolynomial_, 416generatorPolynomial_, 416GenPolDegree, 415reflect, 415reflect_, 416rempol_type, 415tab_, 416TabDim, 415TopByteOffset, 415TopCoeffMask, 415xcrc, 415

stm::local::xdirdata, 421dirpath_, 422env_, 422impl, 422parent_, 422xdirdata, 422

stm::local::xfilefind, 425

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 646: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 645

flags_, 427handlePath, 426impl, 426NoDirectories, 427NoPlainFiles, 427partition, 426path_type, 426pathcontainer_type, 426stem_, 427StoreRelative, 427xfilefind, 426

stm::local::xfilespec, 427appChar, 431appCirc, 432appDot, 431appDotSeq, 432append, 431bracketExpr, 432charClassExpr, 433checkLeadingDot, 433collSymb, 433ereBracketExpr, 432ereFileSpec, 435flags, 435fspec, 434fullFileSpec, 435iappend, 431id, 435impl, 430initialize, 430MakeAbsolute, 434NoBracketExpr, 434noBracketExprFileSpec, 435NoCharClass, 434noCharClassFileSpec, 435NoPathSeparators, 433NoRootName, 433partition, 430re, 434reCtrl, 435starStarOp, 432UseExtRegularExpr, 434UseMultipleDirOperator, 434xfilefind, 433xfilespec, 430

stm::local::xfilespec::Env, 436Env, 436FlagMask, 436flags, 437LastPart, 436PathSep, 437regexp, 437reset, 436

stm::local::xfilespec::Rollback, 437

flags, 438Rollback, 438size, 438

stm::local::xfilespeclist, 438flags_, 439impl, 439NoBraceExpansion, 439SingleSpec, 439xfilespeclist, 439

stm::local::xfixedfmt, 439prec_, 440val_, 440xfixedfmt, 440

stm::local::xhexfmt, 441flags_, 442val_, 442xhexfmt, 442

stm::local::xinputrange, 442∼xinputrange, 445base, 444BOOST_STATIC_ASSERT, 445bufEnd_, 446buffer_, 446bufPtr_, 446bufStep_, 447clear, 445error_, 447fileIt_, 448filerange_type, 444files_, 448fp_, 448impl, 444inputfile_type, 445notReadSize_, 447offset_, 447operator=, 446setInput, 446totalSize_, 447xinputrange, 445

stm::local::xinputrange_iterator, 448Align, 450BOOST_STATIC_ASSERT, 451bufrange, 451bufrange_type, 450constructed_, 452context_, 451context_type, 450filerange_type, 450impl, 450inputrange_type, 450rbuf_, 451scan, 451xinputrange_iterator, 450

stm::local::xIntegral_range, 452

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 647: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 646

base, 454BOOST_STATIC_ASSERT, 455EmptyAllowed, 456impl, 454integral_type, 454is_maximal, 454is_minimal, 454is_signed, 454MaxVal, 456MinVal, 456testMax, 455testMin, 455xIntegral_set, 456

stm::local::xIntegral_set, 456const_iterator, 459const_reverse_iterator, 459impl, 458integral_type, 458iterator, 458MaxVal, 459MinVal, 459range_type, 458rangeset_type, 458reverse_iterator, 459size_, 459

stm::local::xIntegral_set::Env, 460Env, 460range, 461rangeset, 461

stm::local::xIntegral_set::integral_iterator, 461parent_, 462rit_, 462value_, 462xIntegral_set< IntegralRangeT, RangeSetT >,

462stm::local::xreadablefile, 482

fsize_, 483xreadablefile, 483

stm::local::xrecursionenv, 483DoNotRecurse, 484flags_, 485FollowDirLinks, 484impl, 484root_, 484xrecursionenv, 484

stm::local::xscoped_lock, 485mutex_, 486xcondition, 486xscoped_lock, 485

stm::local::xsystem_condition, 486cond_, 487xsystem_condition, 487

stm::local::xsystem_scoped_lock, 487mutex_, 488

xsystem_condition, 488xsystem_scoped_lock, 488

stm::logger, 295logger, 297

stm::logger_baseNoLocking, 298ProcessLocking, 298SystemLocking, 298

stm::logger_base, 297LockingPolicy, 298

stm::nospace, 330operator(), 330

stm::numpstring, 330numpstring, 331

stm::path, 335base, 337has_head, 338has_tail_path, 339head, 338name_type, 337operator-, 339path, 337, 338recurse, 339, 340relative_to_directory, 339string, 338tail_path, 338traverse, 340, 341

stm::path::dirdata, 341∼dirdata, 344data_type, 343dirdata, 343, 344dirpath, 344env, 345env_type, 343impl, 343operator(), 344parent, 344

stm::path::recursionenv, 345DoNotRecurse, 347flags, 346FollowDirLinks, 346NoFlags, 346recursionenv, 346root, 346

stm::pstring, 352allowedSeparators, 354designatesSame, 354isContainedIn, 354limitedPath, 354nativeSeparator, 354pstring, 353

stm::readablefile, 354clear, 357fileSize, 357

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 648: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 647

isTextfile, 357name_type, 356readablefile, 356setpath, 357swap, 357

stm::rectrl, 114stm::scoped_lock, 369

∼scoped_lock, 370local::xcondition::wait_, 370scoped_lock, 370

stm::smartptr, 115stm::smartptr::bijective, 148

ptr, 148set, 148surjective, 149

stm::smartptr::injective, 222ptr, 223set, 223surjective, 223

stm::smartptr::injective_ptr, 223allocator_type, 228assign, 230boost::serialization::access, 234compare_type, 228define_range, 233element_type, 227get, 232injective_ptr, 229, 230is_multirange, 232is_surjective, 232mapped_ptr_impl, 227operator ∗, 231operator bool, 231operator->, 231operator=, 230policy_type, 228range, 233range_available, 234range_defined, 234range_empty, 234range_type, 228rangeid, 233rangeid_type, 228refcount_type, 228repository, 227reset, 230swap, 231undefine_range, 233unique, 232use_count, 232

stm::smartptr::injective_set, 235∼injective_set, 238allocator_type, 237begin, 240

compare_type, 237empty, 240end, 240find, 239injective_ptr_type, 238injective_set, 238insert, 239nil, 238policy_type, 237range, 239range_type, 238rangeid_, 240size, 240value_type, 237

stm::smartptr::injective_set::accessor, 241accessor, 242base, 242operator=, 243

stm::smartptr::local, 117stm::smartptr::local::comp_id, 163

operator(), 164stm::smartptr::local::comp_value, 164

operator(), 164, 165stm::smartptr::local::comp_value_id, 165

operator(), 165stm::smartptr::local::decrefcount, 186

operator(), 186stm::smartptr::local::increfcount, 221

operator(), 222stm::smartptr::local::item_descr< T, Compare,

false, false >, 287decrefcount, 288getrefcount, 288id, 288increfcount, 288item_descr, 288ptr, 289

stm::smartptr::local::item_descr< T, Compare,false, true >, 289

decrefcount, 290getrefcount, 290id, 290increfcount, 290item, 290item_descr, 290item_t, 290ptr, 290

stm::smartptr::local::item_descr< T, Compare, true,false >, 291

decrefcount, 292getrefcount, 291id, 291increfcount, 291item_descr, 291

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 649: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 648

ptr, 292refcount, 292

stm::smartptr::local::item_descr< T, Compare, true,true >, 292

decrefcount, 294getrefcount, 293id, 293increfcount, 293item, 294item_descr, 293item_t, 293ptr, 293refcount, 294

stm::smartptr::local::item_type, 294id, 295item_type, 295operator<, 295ptr, 295

stm::smartptr::local::mapped_ptr, 309∼mapped_ptr, 311boost::serialization::access, 313getrefcount, 312id, 312id_, 313init, 312load, 312mapped_ptr, 311mapped_ptr_impl, 311ptr_, 313repository, 311repository_, 313save, 312serialize, 313swap, 312

stm::smartptr::local::mapped_ptr< T, Compare, Al-locator, refcounted, false >, 315

∼mapped_ptr, 317boost::serialization::access, 318getrefcount, 317id, 317init, 317load, 318mapped_ptr, 316, 317mapped_ptr_impl, 316ptr_, 318repository, 316repository_, 318save, 318serialize, 318swap, 317

stm::smartptr::local::mapped_ptr< T, Compare, Al-locator, refcounted, false >::rangeid_-type, 319

id_, 319

operator stm::dword, 319rangeid_type, 319

stm::smartptr::local::mapped_ptr::rangeid_type,314

id_, 315operator stm::dword, 314rangeid_type, 314

stm::smartptr::local::pcomp, 347operator(), 347

stm::smartptr::local::pointee_type, 347boost::serialization::access, 348pointee_type, 348serialize, 348value_, 349

stm::smartptr::local::repository_type, 358∼repository_type, 360availableids_, 362base, 360by_ptr, 360definedids_, 362defineRange, 361range, 361range_map, 360range_type, 360rangeAvailable, 362rangeDefined, 362rangeEmpty, 361rangeid_set, 360ranges_, 362remove, 361rep_by_ptr_, 362repository_type, 360undefineRange, 361updateRange, 361

stm::smartptr::local::repository_type< T, Compare,Allocator, refcounted, false >, 364

∼repository_type, 366base, 365defineRange, 366range, 366range_, 367range_type, 365rangeAvailable, 367rangeDefined, 367rangeEmpty, 367remove, 366repository_type, 366undefineRange, 366updateRange, 366

stm::smartptr::local::repository_type< T, Compare,Allocator, refcounted, false >::range_-iterator, 367

baseit, 368operator ∗, 369

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 650: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 649

operator!=, 368operator++, 368operator->, 369operator==, 368range_iterator, 368

stm::smartptr::local::repository_type::range_-iterator, 363

baseit, 363operator ∗, 364operator!=, 364operator++, 364operator->, 364operator==, 364range_iterator, 363

stm::smartptr::MakeMultirange, 308multirange, 308surjective, 308

stm::smartptr::MakeSurjective, 308multirange, 309surjective, 309

stm::smartptr::policy, 349multirange, 349surjective, 349

stm::space, 372operator(), 373

stm::system_condition, 385∼system_condition, 386broadcast, 387signal, 387system_condition, 386timed_wait, 387wait, 387

stm::system_scoped_lock, 388∼system_scoped_lock, 389local::xsystem_condition::wait_, 389system_scoped_lock, 388, 389

stm::tools, 117stm::tools::BaseMessage, 119

∼BaseMessage, 123BaseMessage, 123basemessage_type, 122BaseMessageImpl, 122body, 124ConsistencyError, 123context, 124context_type, 122flags, 124NoError, 123NoFlags, 123OutOfSync, 123setBody, 125setFpgaTimestamp, 125setStatus, 124setUdpTimestamp, 125

status, 124ThrowOnError, 123Timestamp, 122timestamp, 124type, 124WordSize, 123

stm::tools::BaseMessageContext, 125BaseMessageContext, 128BaseMessageContextImpl, 127context_type, 128data, 129data_type, 127input, 129inputrange_type, 127setTimestamp, 129setType, 128Timestamp, 128timestamp, 129type, 128

stm::tools::BinMessage, 149∼BinMessage, 152basemessage_type, 151BinMessage, 152BinMessageImpl, 151body, 153ConsistencyError, 152context, 153context_type, 151flags, 153NoError, 152NoFlags, 152OutOfSync, 152status, 153ThrowOnError, 152Timestamp, 151timestamp, 153type, 152

stm::tools::BinMessageContext, 154basemessage_type, 156BinMessageContext, 156BinMessageContextImpl, 155context_type, 155data_type, 155gap, 156inputrange_type, 155local::xBinMessage< ContextT >, 156registerMessageType, 156

stm::tools::BinMessageContext::Gap, 157BinMessageContext< DataT, InputRangeT,

ContextT >, 158Gap, 158length, 158offset, 158operator bool, 158

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 651: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 650

stm::tools::Ct, 173Ct, 174execCommand, 175getCiCommentOption, 175getCurrentBranch, 176getCurrentMasterReplica, 176getMode, 175isCheckedOut, 176isVobElement, 175Logger, 174logger, 174setCiCommentOption, 175setMode, 175

stm::tools::Ct::ArgList, 176active, 178ArgList, 177exec, 177operator+=, 177

stm::tools::Ct::Mode, 178Normal, 178Simulate, 178Verbose, 178

stm::tools::CtExceptions, 179Actions, 181add, 180clear, 181const_iterator, 180Content, 181Directory, 181Exclude, 181excludes, 180Include, 181NoFlags, 181PlainFile, 181

stm::tools::CtOperation, 182addLabels, 185checkOut, 184ct, 183CtOperation, 183DefaultGetMastershipTimeoutSec, 186getCurrentReplica, 184getMastershipTimeout, 184getVobRoot, 184isLabel, 185label, 185labelCount, 185obtainReplicaMastership, 184prepareLabels, 185setMastershipTimeout, 184setVobRoot, 183

stm::tools::DspMessage, 186∼DspMessage, 189body, 190context_type, 188

DspMessage, 189DspMessageImpl, 188hasTraceHeader, 189NoError, 189parent, 190parent_type, 188status, 189traceHeader, 189

stm::tools::DspMessage::TraceHeader, 190bfn, 191DspMessage< ContextT >, 192frameChips, 192opCode, 192payloadLength, 192size, 191TraceHeader, 191userFrameNo, 192userSlotNo, 192

stm::tools::local, 118stm::tools::local::xArgList, 398

ct_, 399impl, 399limit_, 399xArgList, 399

stm::tools::local::xBaseMessage, 400body_, 402context_, 402context_type, 401flags_, 402setTimestamp, 401status_, 402Timestamp, 401timestamp_, 402xBaseMessage, 401

stm::tools::local::xBaseMessageContext, 403context_type, 404data_, 405data_type, 404input_, 405inputrange_type, 404Timestamp, 404timestamp_, 404type_, 404xBaseMessageContext, 404

stm::tools::local::xBinMessage, 405basemessage_type, 406context_, 407context_type, 406flags_, 407message_, 407xBinMessage, 407

stm::tools::local::xBinMessageContext, 407basemessage_type, 409context_type, 409

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 652: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 651

create, 410CreateFct, 409createMessage, 410creation_, 410crit_, 410gap_, 410xBinMessageContext, 409

stm::tools::local::xBinMessageGap, 411GapImpl, 412length_, 412offset_, 412xBinMessageContext, 412xBinMessageGap, 412

stm::tools::local::xCt, 416ciCommentOption_, 417impl, 417Logger, 417logger_, 417mode_, 418xCt, 417

stm::tools::local::xCtOperation, 418ct_, 420currentReplica_, 419impl, 419labelList_, 419labelsPrepared_, 420Logger, 419mastershipTimeout_, 419vobRoot_, 419xCtOperation, 419

stm::tools::local::xCtOperation::LabelList, 420command_, 421getCommand, 420prepare, 420

stm::tools::local::xDspMessage, 423body_, 424context_type, 424parent_, 424parent_type, 424status_, 424traceHeader_, 424xDspMessage, 424

stm::tools::local::xLvdsPacket, 462antennaFlags_, 465body_, 466context_type, 464dataType_, 466fcs_, 466frq_, 466HeaderSize, 465lvdsSubslot_, 465parent_, 466parent_type, 464priority_, 465

rsv_, 466status_, 465ubrId_, 465xLvdsPacket, 465

stm::tools::local::xMcBspMessage, 467basemessage_type, 468context_type, 468EndWordPattern, 468EndWordSize, 468McBspMessage< context_type >, 468WordSize, 468

stm::tools::local::xMcBspMessage::Identification,468

bfn, 471bfn_, 472bodyLength, 471bodyLength_, 472chip, 471chip_, 472clear, 471Identification, 470operator bool, 470operator(), 470ReqHeaderWordOneBitsMask, 473ReqHeaderWordZeroBitsMask, 473RequiredOneBitsMaskSize4, 473RequiredOneBitsMaskSize5, 473RequiredZeroBitsMaskSize4, 472RequiredZeroBitsMaskSize5, 473size, 470Size4, 469Size5, 470size_, 472slot, 471slot_, 472sync_, 472

stm::tools::local::xMsgTimestamp, 473bfn_, 475boardTimeMs_, 475boardTimeSec_, 475chip_, 475Fpga, 475hsTadsib_, 476Invalid, 475MsgTimestampImpl, 474seqNo_, 475slot_, 475status_, 475Udp, 475xMsgTimestamp, 475

stm::tools::local::xPrintkBinMessage, 476basemessage_type, 477context_type, 477PrintkBinMessage< context_type >, 477

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 653: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 652

WordSize, 477stm::tools::local::xPrintkBinMessage::Identification,

477addBodyLength, 480bfn, 480bfn_, 481BfnMask, 482boardTimeMs, 480boardTimeMs_, 481boardTimeSec, 480boardTimeSec_, 481bodyLength, 480bodyLength_, 482clear, 480Identification, 479operator bool, 479operator(), 479seqNo, 480seqNo_, 482size, 479size_, 481SizeAbcd, 479SizeZyxw, 478sync_, 481SyncWordPatternAbcd, 482SyncWordPatternZyxw, 482

stm::tools::local::xTraceHeader, 488BbtOpCode, 490bfn_, 489DdtOpCode, 490frameChips_, 489Length, 490opCode_, 490payloadLength_, 490size_, 489TraceHeaderImpl, 489userFrameNo_, 490userSlotNo_, 490xDspMessage, 489

stm::tools::LvdsPacket, 298∼LvdsPacket, 303antennaFlags, 304body, 304context_type, 301dataType, 304DataTypeError, 302fcs, 304frq, 304LengthError, 302LvdsPacket, 302LvdsPacketImpl, 301lvdsSubslot, 303MaxAntennas, 302MaxPayloadLength, 302

NoError, 302parent, 304parent_type, 301PayloadLengthError, 302priority, 303PriorityError, 302rsv, 304status, 303ubrId, 303

stm::tools::LvdsPacket::Aich, 305Minus, 305PayloadLength, 305Plus, 305Zero, 305

stm::tools::LvdsPacket::DataType, 306Aich, 306Amplitude, 306AmplNoOffs, 306DlTpc0, 306DlTpc1, 306DtxCtrl, 306Hho, 306Rsv, 306Ue, 306UeCm0, 306UeCm0Scr, 306UeCm1, 306

stm::tools::LvdsPacket::Priority, 307Aich, 307Amplitude, 307AmplNoOffs, 307DlTpc0, 307DlTpc1, 307DtxCtrl, 307Ue, 307

stm::tools::McBspMessage, 320basemessage_type, 321context_type, 321McBspMessage, 322McBspMessageImpl, 321Type, 322type, 322

stm::tools::MsgTimestamp, 323assign, 325bfn, 325boardTimeMs, 326boardTimeSec, 326chip, 326Fpga, 324hsTadsib, 326Invalid, 324isFpga, 325isUdp, 325MsgTimestamp, 325

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 654: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 653

seqNo, 326slot, 326status, 325Udp, 324valid, 325

stm::tools::PrintkBinMessage, 350basemessage_type, 351context_type, 351PrintkBinMessage, 351PrintkBinMessageImpl, 351Type, 352type, 352

stm::wlogger, 397wlogger, 398

STM_DEBUGXAIDS_HPPdebugxaids.hpp, 504

STM_DIVXAIDS_HPPdivxaids.hpp, 520

STM_FILESYSXAIDS_HPPfilesysxaids.hpp, 531

STM_GENXCRC_HPPgenxcrc.hpp, 535

STM_LIB_NAMEaidsconfig.hpp, 494toolaidsconfig.hpp, 556

STM_LOGGERXAIDS_HPPloggerxaids.hpp, 539

STM_SMARTPTRXAIDS_HPPsmartptrxaids.hpp, 552

STM_TOOLAIDS_XBINMSG_HPPxbinmsg.hpp, 557

STM_TOOLAIDS_XCTAIDS_HPPxctaids.hpp, 559

STM_TOOLAIDS_XDSPMSG_HPPxdspmsg.hpp, 561

STM_TOOLAIDS_XLVDSPACKET_HPPxlvdspacket.hpp, 562

STM_TOOLAIDS_XMCBSPMSG_HPPxmcbspmsg.hpp, 564

STM_TOOLAIDS_XMSGTIMESTAMP_HPPxmsgtimestamp.hpp, 566

STM_TOOLAIDS_XPRINTKBINMSG_HPPxprintkbinmsg.hpp, 567

stmaids/ Directory Reference, 102stmaids/stm/ Directory Reference, 101stmaids/stm/impl/ Directory Reference, 100stmaids/test/ Directory Reference, 102StmAidsTest

Copyright, 97main, 96man, 97Version, 97

StmDebugAidsErrmsgModDebugAids, 20

StmDebugAidsErrmsgImpl_DebugAidsImpl, 46

StmDebugAidsVerifyModDebugAids, 20

StmDebugAidsVerifyImpl_DebugAidsImpl, 46

StmRectrlTryModDivAids, 29

StmRectrlTryImpl_DivAidsImpl, 49

stmtoolaids/ Directory Reference, 102stmtoolaids/stm/ Directory Reference, 100stmtoolaids/stm/toolaids/ Directory Reference, 103stmtoolaids/stm/toolaids/impl/ Directory Reference,

99StoreRelative

stm::filefind, 198stm::local::xfilefind, 427

Streamsstm::local::basic_xlogger, 139

stringstm::path, 338

string_typeModLoggerAids, 64stm::local::basic_xlogger, 138

StrPtrTestPtr, 390

strptr0TestPtr, 392TestSet, 396

strptr1TestPtr, 392TestSet, 396

strptr2TestPtr, 392

StrSetTestSet, 394

strsetTestSet, 395

subSudoku, 379

Sudoku, 374col, 379FirstSolution, 375generate, 375init, 377n, 378n2, 378n3, 378n4, 378RandomSolution, 375read, 376row, 378silent, 377

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 655: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 654

solve, 376State, 377state, 377StatePtr, 375sub, 379Sudoku, 375Sudoku::State, 384test, 376UniqueSolution, 375write, 377

sudokuSudoku::State, 385

sudoku.cpp, 552Sudoku::State, 379

a, 385define, 383generate, 382getCol, 382getRow, 382getSub, 382init, 381pot, 385randomVal, 384read, 381restore, 384solve, 381State, 380Sudoku, 384sudoku, 385test, 381u, 385undefine, 383

SurjectiveModSmartptrAids, 75

surjectivestm::smartptr::bijective, 149stm::smartptr::injective, 223stm::smartptr::MakeMultirange, 308stm::smartptr::MakeSurjective, 309stm::smartptr::policy, 349

swapModDivAids, 32ModFilesysAids, 42ModSmartptrAids, 74stm::integral_range, 262stm::integral_set, 277stm::readablefile, 357stm::smartptr::injective_ptr, 231stm::smartptr::local::mapped_ptr, 312stm::smartptr::local::mapped_ptr< T, Com-

pare, Allocator, refcounted, false >, 317swapped

ModDivAids, 32sync_

stm::local::basic_xlogger, 142stm::tools::local::xMcBspMessage::Identification,

472stm::tools::local::xPrintkBinMessage::Identification,

481SyncWordPatternAbcd

stm::tools::local::xPrintkBinMessage::Identification,482

SyncWordPatternZyxwstm::tools::local::xPrintkBinMessage::Identification,

482syslog

ModDebugAids, 22SyslogError

ModDebugAids, 22SyslogFlags

ModDebugAids, 21SyslogInfo

ModDebugAids, 22SyslogLevelMask

ModDebugAids, 22SyslogNoLog

ModDebugAids, 22SyslogNoPerror

ModDebugAids, 22SyslogPerror

ModDebugAids, 22syslogPerror

DebugAidsImpl, 47syslogProg

DebugAidsImpl, 47SyslogWarning

ModDebugAids, 22system_condition

stm::system_condition, 386system_scoped_lock

stm::system_scoped_lock, 388, 389SystemLocking

stm::logger_base, 298SysToMath Aids C++ Library, 18SysToMath Aids C++ Library Test, 96SysToMath Tool Aids C++ Library, 86

tab_stm::local::xcrc, 416

TabDimstm::local::xcrc, 415

Tailstm::local::BraceExpand::Data::Tail, 161

tailstm::local::BraceExpand::Data, 161

tail_pathstm::path, 338

tell

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 656: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 655

TestPtr, 391TestSet, 395

testSudoku, 376Sudoku::State, 381

testMaxstm::local::xIntegral_range, 455

testMinstm::local::xIntegral_range, 455

TestPtr, 389DwordPtr, 390dwptr0, 392dwptr1, 392load, 391operator==, 391save, 391StrPtr, 390strptr0, 392strptr1, 392strptr2, 392tell, 391TestPtr, 390

testptrSmartptrAidsTest, 92

TestSet, 393define, 394DwordSet, 394dwptr0, 396dwptr1, 396dwset, 395load, 395operator==, 395save, 394strptr0, 396strptr1, 396StrSet, 394strset, 395tell, 395TestSet, 394

testsetSmartptrAidsTest, 92

ThrowOnErrorstm::tools::BaseMessage, 123stm::tools::BinMessage, 152

timed_waitstm::condition, 167stm::system_condition, 387

Timestampstm::tools::BaseMessage, 122stm::tools::BaseMessageContext, 128stm::tools::BinMessage, 151stm::tools::local::xBaseMessage, 401stm::tools::local::xBaseMessageContext, 404

timestamp

stm::tools::BaseMessage, 124stm::tools::BaseMessageContext, 129stm::tools::BinMessage, 153

timestamp_stm::tools::local::xBaseMessage, 402stm::tools::local::xBaseMessageContext, 404

tostm::integral_range, 263

toExpandstm::local::BraceExpand, 159

tolowerModDivAids, 38

toolaids.hpp, 553toolaidsconfig.hpp, 554

STM_LIB_NAME, 556TopByteOffset

stm::local::xcrc, 415TopCoeffMask

stm::local::xcrc, 415totalSize

stm::inputrange, 249totalSize_

stm::local::xinputrange, 447tprint

stm::local::basic_xlogger, 141TraceHeader

stm::tools::DspMessage::TraceHeader, 191traceHeader

stm::tools::DspMessage, 189traceHeader_

stm::tools::local::xDspMessage, 424TraceHeaderImpl

stm::tools::local::xTraceHeader, 489traverse

stm::path, 340, 341trim

ModDivAids, 37, 38trim_back

ModDivAids, 35, 36trim_front

ModDivAids, 37Txt

Operation::Archive, 334Type

stm::tools::McBspMessage, 322stm::tools::PrintkBinMessage, 352

typeOperation, 332stm::tools::BaseMessage, 124stm::tools::BaseMessageContext, 128stm::tools::BinMessage, 152stm::tools::McBspMessage, 322stm::tools::PrintkBinMessage, 352

type_

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 657: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 656

McBspMsgImpl, 81PrintkBinMsgImpl, 83stm::tools::local::xBaseMessageContext, 404

uSudoku::State, 385

ubrIdstm::tools::LvdsPacket, 303

ubrId_stm::tools::local::xLvdsPacket, 465

Udpstm::tools::local::xMsgTimestamp, 475stm::tools::MsgTimestamp, 324

Uestm::tools::LvdsPacket::DataType, 306stm::tools::LvdsPacket::Priority, 307

UeCm0stm::tools::LvdsPacket::DataType, 306

UeCm0Scrstm::tools::LvdsPacket::DataType, 306

UeCm1stm::tools::LvdsPacket::DataType, 306

undefineSudoku::State, 383

undefine_rangestm::smartptr::injective_ptr, 233

undefineRangestm::smartptr::local::repository_type, 361stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false >,366

underlineModLoggerAids, 69

uniquestm::smartptr::injective_ptr, 232

UniqueSolutionSudoku, 375

unsetConsoleModLoggerAids, 68

unsetStreamModLoggerAids, 67

updateRangestm::smartptr::local::repository_type, 361stm::smartptr::local::repository_type< T,

Compare, Allocator, refcounted, false >,366

use_countstm::smartptr::injective_ptr, 232

UseExtRegularExprstm::filespec, 206stm::local::xfilespec, 434

UseMultipleDirOperatorstm::filespec, 206stm::local::xfilespec, 434

userFrameNostm::tools::DspMessage::TraceHeader, 192

userFrameNo_stm::tools::local::xTraceHeader, 490

userSlotNostm::tools::DspMessage::TraceHeader, 192

userSlotNo_stm::tools::local::xTraceHeader, 490

val_stm::local::xfixedfmt, 440stm::local::xhexfmt, 442

validstm::tools::MsgTimestamp, 325

valuestm::has_pow2size, 214

value_stm::local::xIntegral_set::integral_iterator, 462stm::smartptr::local::pointee_type, 349

value_typestm::fixedfmt, 212stm::hexfmt, 216stm::hexfmt< ElemT ∗, DefaultFlags >, 220stm::smartptr::injective_set, 237

Verbosestm::tools::Ct::Mode, 178

verifyDivAidsImpl, 53

VersionDivAidsTest, 88FilesysAidsTest, 89GenCrcTest, 90SmartptrAidsTest, 93StmAidsTest, 97

vobRoot_stm::tools::local::xCtOperation, 419

waitstm::condition, 167stm::system_condition, 387

wait_DivAidsImpl, 54

wloggerModLoggerAids, 70, 71stm::wlogger, 398

wordModDivAids, 30

WordSizestm::tools::BaseMessage, 123stm::tools::local::xMcBspMessage, 468stm::tools::local::xPrintkBinMessage, 477

wrappedstm::local::basic_xlogger::Stream, 147

write

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen

Page 658: SysToMath · CONTENTS 1 Contents 1 SysToMath C++ Libraries Implementation Main Page 1 2 SysToMath C++ Libraries Implementation Module Index 2 3 SysToMath C++ Libraries Implementation

INDEX 657

Sudoku, 377

xArgListstm::tools::local::xArgList, 399

xBaseMessagestm::tools::local::xBaseMessage, 401

xBaseMessageContextstm::tools::local::xBaseMessageContext, 404

xBinMessagestm::tools::local::xBinMessage, 407

xBinMessageContextstm::tools::local::xBinMessageContext, 409stm::tools::local::xBinMessageGap, 412

xBinMessageGapstm::tools::local::xBinMessageGap, 412

xbinmsg.hpp, 556STM_TOOLAIDS_XBINMSG_HPP, 557

xconditionstm::local::xcondition, 413stm::local::xscoped_lock, 486

xcrcstm::local::xcrc, 415

xCtstm::tools::local::xCt, 417

xctaids.hpp, 558STM_TOOLAIDS_XCTAIDS_HPP, 559

xCtOperationstm::tools::local::xCtOperation, 419

xdirdatastm::local::xdirdata, 422

xDspMessagestm::tools::local::xDspMessage, 424stm::tools::local::xTraceHeader, 489

xdspmsg.hpp, 559STM_TOOLAIDS_XDSPMSG_HPP, 561

xfilefindstm::local::xfilefind, 426stm::local::xfilespec, 433

xfilespecstm::local::xfilespec, 430

xfilespecliststm::local::xfilespeclist, 439

xfixedfmtstm::local::xfixedfmt, 440

xhexfmtstm::local::xhexfmt, 442

xinputrangestm::local::xinputrange, 445

xinputrange_iteratorstm::local::xinputrange_iterator, 450

xIntegral_rangeDivAidsImpl, 50

xIntegral_setDivAidsImpl, 52

stm::local::xIntegral_range, 456xIntegral_set< IntegralRangeT, RangeSetT >

stm::local::xIntegral_set::integral_iterator, 462xLvdsPacket

stm::tools::local::xLvdsPacket, 465xlvdspacket.hpp, 561

STM_TOOLAIDS_XLVDSPACKET_HPP,562

xmcbspmsg.hpp, 563STM_TOOLAIDS_XMCBSPMSG_HPP, 564

XmlOperation::Archive, 334

xMsgTimestampstm::tools::local::xMsgTimestamp, 475

xmsgtimestamp.hpp, 564STM_TOOLAIDS_XMSGTIMESTAMP_-

HPP, 566xprintkbinmsg.hpp, 566

STM_TOOLAIDS_XPRINTKBINMSG_-HPP, 567

xreadablefilestm::local::xreadablefile, 483

xrecursionenvstm::local::xrecursionenv, 484

xscoped_lockstm::local::xscoped_lock, 485

xsystem_conditionstm::local::xsystem_condition, 487stm::local::xsystem_scoped_lock, 488

xsystem_scoped_lockstm::local::xsystem_scoped_lock, 488

xTraceHeaderDspMsgImpl, 80

Xyz, 491id, 491ptr, 491Xyz, 491

xyz1SmartptrAidsTest, 95

xyz2SmartptrAidsTest, 95

XyzPtrSmartptrAidsTest, 92

Zerostm::tools::LvdsPacket::Aich, 305

Generated on Thu Jan 3 20:17:00 2008 for SysToMath C++ Libraries Implementation by Doxygen