1 #ifndef LIBJMMCG_CORE_INFO_HPP
2 #define LIBJMMCG_CORE_INFO_HPP
60 : rev(r.rev), file(r.file) {
64 return 9+PATH_MAX+28+32+33+PATH_MAX+3;
71 o<<
_T(
"Revision: '")<<ri.rev<<
_T(
"'.\n")
72 _T(
"Local file name: '")<<StringToTString(ri.file)<<
_T(
"'.\n");
93 #if defined(_MSC_VER) && (_MSC_VER < 1300
)
101 : name(
std::move(n)), value(tostring(v)) {
107 return 8+PATH_MAX+10+PATH_MAX+4;
114 assert(a.CheckVals());
115 o<<
_T(
"\tName: '")<<a.name<<
_T(
"', value: '")<<a.value<<
_T(
"'.");
120 bool __fastcall CheckVals(
void)
const noexcept(
true) {
139 args_details.emplace_back(
std::move(a));
143 template<
class ...Args>
146 args_details.reserve(args_details.size()+
sizeof...(a));
148 args_details.emplace_back(
std::move(a)), ...
155 #if defined(_MSC_VER) && (_MSC_VER < 1300
)
157 add_arg(argument(std::move(n),tostring(v)));
167 +39+
std::numeric_limits<
std::size_t>::digits10+1
169 +13+
std::numeric_limits<
std::size_t>::digits10+3;
176 o<<
_T(
"Function name: '")<<StringToTString(fi.name)<<
_T(
"'.\n")
177 _T(
"C++ RTTI context: '")<<fi.this_type.name()<<
_T(
"'.\n")
178 _T(
"Argument details, number of arguments: ")<<fi.args_details.size()<<
_T(
"\n");
179 assert(fi.CheckVals());
181 fi.args_details.begin(),
182 fi.args_details.end(),
183 std::ostream_iterator<args_details_type::value_type,tchar>(o,
_T(
"\n"))
185 o<<
_T(
"Line number: ")<<
std::dec<<fi.line<<
_T(
".\n");
190 const unsigned long line;
192 const std::type_info &this_type;
196 bool __fastcall CheckVals(
void)
const noexcept(
true) {
220 #define JMMCG_REVISION_HDR(_JMMCG_REVISION_HDR) jmmcg::LIBJMMCG_VER_NAMESPACE::info::revision((_JMMCG_REVISION_HDR),__FILE__)
229 #define JMMCG_REVISION_CONSTANT(_JMMCG_REVISION_HDR)
231 [[maybe_unused]] const jmmcg::LIBJMMCG_VER_NAMESPACE::info::revision __REV_INFO__((_JMMCG_REVISION_HDR),__FILE__);
240 # define JMMCG_FUNCTION(JMMCG_FUNCTION_TYPE_) jmmcg::LIBJMMCG_VER_NAMESPACE::info::function(__LINE__,__PRETTY_FUNCTION__,typeid(JMMCG_FUNCTION_TYPE_))
248 # define JMMCG_FUNCTION1(JMMCG_FUNCTION_TYPE_,JMMCG_FUNCTION_ARGUMENTS_) jmmcg::LIBJMMCG_VER_NAMESPACE::info::function(__LINE__,__PRETTY_FUNCTION__,typeid(JMMCG_FUNCTION_TYPE_),(JMMCG_FUNCTION_ARGUMENTS_))