DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
utils.cpp File Reference
#include "class_info.hpp"
#include "oks/kernel.hpp"
#include "oks/method.hpp"
#include <ctype.h>
#include <algorithm>
#include <ctime>
#include <initializer_list>
#include <iomanip>
#include <iostream>
Include dependency graph for utils.cpp:

Go to the source code of this file.

Functions

char cvt_symbol (char c)
std::string alnum_name (const std::string &in)
std::string capitalize_name (const std::string &in)
void print_description (std::ostream &s, const std::string &text, const char *dx)
void print_indented (std::ostream &s, const std::string &text, const char *dx)
std::string get_type (OksData::Type oks_type, bool is_cpp)
void gen_dump_application (std::ostream &s, std::list< std::string > &class_names, const std::string &cpp_ns_name, const std::string &cpp_hdr_dir, const char *conf_header, const char *conf_name, const char *headres_prologue, const char *main_function_prologue)
void write_info_file (std::ostream &s, const std::string &cpp_namespace, const std::string &cpp_header_dir, const std::set< const OksClass *, std::less< const OksClass * > > &classes)
std::string get_full_cpp_class_name (const OksClass *c, const ClassInfo::Map &cl_info, const std::string &cpp_ns_name)
std::string get_include_dir (const OksClass *c, const ClassInfo::Map &cl_info, const std::string &cpp_hdr_dir)
bool process_external_class (ClassInfo::Map &cl_info, const OksClass *c, const std::list< std::string > &include_dirs, const std::list< std::string > &user_classes, bool verbose)
std::string int2dx (int level)
int open_cpp_namespace (std::ostream &s, const std::string &value)
void close_cpp_namespace (std::ostream &s, int level)
const std::string begin_header_prologue ("BEGIN_HEADER_PROLOGUE")
const std::string end_header_prologue ("END_HEADER_PROLOGUE")
const std::string begin_header_epilogue ("BEGIN_HEADER_EPILOGUE")
const std::string end_header_epilogue ("END_HEADER_EPILOGUE")
const std::string begin_public_section ("BEGIN_PUBLIC_SECTION")
const std::string end_public_section ("END_PUBLIC_SECTION")
const std::string begin_private_section ("BEGIN_PRIVATE_SECTION")
const std::string end_private_section ("END_PRIVATE_SECTION")
const std::string begin_member_initializer_list ("BEGIN_MEMBER_INITIALIZER_LIST")
const std::string end_member_initializer_list ("END_MEMBER_INITIALIZER_LIST")
const std::string has_add_algo_1 ("ADD_ALGO_1")
const std::string has_add_algo_n ("ADD_ALGO_N")
static std::string get_method_header_x_logue (OksMethodImplementation *mi, const std::string &begin, const std::string &end)
std::string get_method_header_prologue (OksMethodImplementation *mi)
std::string get_method_header_epilogue (OksMethodImplementation *mi)
std::string get_public_section (OksMethodImplementation *mi)
std::string get_private_section (OksMethodImplementation *mi)
std::string get_member_initializer_list (OksMethodImplementation *mi)
bool get_add_algo_1 (OksMethodImplementation *mi)
bool get_add_algo_n (OksMethodImplementation *mi)
static void remove_string_section (std::string &s, const std::string &begin, const std::string &end)
std::string get_method_implementation_body (OksMethodImplementation *mi)
static OksMethodImplementationfind_method_implementation (const OksMethod *method, std::initializer_list< std::string > names)
OksMethodImplementationfind_cpp_method_implementation (const OksMethod *method)

Function Documentation

◆ alnum_name()

std::string alnum_name ( const std::string & in)

Definition at line 39 of file utils.cpp.

◆ begin_header_epilogue()

const std::string begin_header_epilogue ( "BEGIN_HEADER_EPILOGUE" )

◆ begin_header_prologue()

const std::string begin_header_prologue ( "BEGIN_HEADER_PROLOGUE" )

◆ begin_member_initializer_list()

const std::string begin_member_initializer_list ( "BEGIN_MEMBER_INITIALIZER_LIST" )

◆ begin_private_section()

const std::string begin_private_section ( "BEGIN_PRIVATE_SECTION" )

◆ begin_public_section()

const std::string begin_public_section ( "BEGIN_PUBLIC_SECTION" )

◆ capitalize_name()

std::string capitalize_name ( const std::string & in)

Definition at line 47 of file utils.cpp.

◆ close_cpp_namespace()

void close_cpp_namespace ( std::ostream & s,
int level )

Definition at line 664 of file utils.cpp.

◆ cvt_symbol()

char cvt_symbol ( char c)

The functions cvt_symbol() and alnum_name() are used to replace all symbols allowed in names of classes, attributes and relationships, but misinterpreted by c++.

Definition at line 33 of file utils.cpp.

◆ end_header_epilogue()

const std::string end_header_epilogue ( "END_HEADER_EPILOGUE" )

◆ end_header_prologue()

const std::string end_header_prologue ( "END_HEADER_PROLOGUE" )

◆ end_member_initializer_list()

const std::string end_member_initializer_list ( "END_MEMBER_INITIALIZER_LIST" )

◆ end_private_section()

const std::string end_private_section ( "END_PRIVATE_SECTION" )

◆ end_public_section()

const std::string end_public_section ( "END_PUBLIC_SECTION" )

◆ find_cpp_method_implementation()

OksMethodImplementation * find_cpp_method_implementation ( const OksMethod * method)

Definition at line 792 of file utils.cpp.

◆ find_method_implementation()

OksMethodImplementation * find_method_implementation ( const OksMethod * method,
std::initializer_list< std::string > names )
static

Definition at line 779 of file utils.cpp.

◆ gen_dump_application()

void gen_dump_application ( std::ostream & s,
std::list< std::string > & class_names,
const std::string & cpp_ns_name,
const std::string & cpp_hdr_dir,
const char * conf_header,
const char * conf_name,
const char * headres_prologue,
const char * main_function_prologue )

Definition at line 169 of file utils.cpp.

◆ get_add_algo_1()

bool get_add_algo_1 ( OksMethodImplementation * mi)

Definition at line 731 of file utils.cpp.

◆ get_add_algo_n()

bool get_add_algo_n ( OksMethodImplementation * mi)

Definition at line 737 of file utils.cpp.

◆ get_full_cpp_class_name()

std::string get_full_cpp_class_name ( const OksClass * c,
const ClassInfo::Map & cl_info,
const std::string & cpp_ns_name )

The function get_full_cpp_class_name() returns name of class with it's namespace (e.g. "NAMESPACE_A::CLASS_X")

Definition at line 411 of file utils.cpp.

◆ get_include_dir()

std::string get_include_dir ( const OksClass * c,
const ClassInfo::Map & cl_info,
const std::string & cpp_hdr_dir )

Definition at line 431 of file utils.cpp.

◆ get_member_initializer_list()

std::string get_member_initializer_list ( OksMethodImplementation * mi)

Definition at line 725 of file utils.cpp.

◆ get_method_header_epilogue()

std::string get_method_header_epilogue ( OksMethodImplementation * mi)

Definition at line 707 of file utils.cpp.

◆ get_method_header_prologue()

std::string get_method_header_prologue ( OksMethodImplementation * mi)

Definition at line 701 of file utils.cpp.

◆ get_method_header_x_logue()

std::string get_method_header_x_logue ( OksMethodImplementation * mi,
const std::string & begin,
const std::string & end )
static

Definition at line 689 of file utils.cpp.

◆ get_method_implementation_body()

std::string get_method_implementation_body ( OksMethodImplementation * mi)

Definition at line 761 of file utils.cpp.

◆ get_private_section()

std::string get_private_section ( OksMethodImplementation * mi)

Definition at line 719 of file utils.cpp.

◆ get_public_section()

std::string get_public_section ( OksMethodImplementation * mi)

Definition at line 713 of file utils.cpp.

◆ get_type()

std::string get_type ( OksData::Type oks_type,
bool is_cpp )

Definition at line 106 of file utils.cpp.

◆ has_add_algo_1()

const std::string has_add_algo_1 ( "ADD_ALGO_1" )

◆ has_add_algo_n()

const std::string has_add_algo_n ( "ADD_ALGO_N" )

◆ int2dx()

std::string int2dx ( int level)

Definition at line 636 of file utils.cpp.

◆ open_cpp_namespace()

int open_cpp_namespace ( std::ostream & s,
const std::string & value )

Definition at line 642 of file utils.cpp.

◆ print_description()

void print_description ( std::ostream & s,
const std::string & text,
const char * dx )

The function print_description() is used for printing of the multi-line text with right alignment.

Definition at line 72 of file utils.cpp.

◆ print_indented()

void print_indented ( std::ostream & s,
const std::string & text,
const char * dx )

Definition at line 91 of file utils.cpp.

◆ process_external_class()

bool process_external_class ( ClassInfo::Map & cl_info,
const OksClass * c,
const std::list< std::string > & include_dirs,
const std::list< std::string > & user_classes,
bool verbose )

Definition at line 476 of file utils.cpp.

◆ remove_string_section()

void remove_string_section ( std::string & s,
const std::string & begin,
const std::string & end )
static

Definition at line 743 of file utils.cpp.

◆ write_info_file()

void write_info_file ( std::ostream & s,
const std::string & cpp_namespace,
const std::string & cpp_header_dir,
const std::set< const OksClass *, std::less< const OksClass * > > & classes )

Definition at line 385 of file utils.cpp.