
Okay, compiled the code, got this: 1>------ Build started: Project: ejg_uint_parser_timing, Configuration: Release Win32 ------ 1>Compiling... 1>ejg_uint_parser.cpp 1>R:\Programming_Projects\Spirit_Price\ejg_uint_parser_timing \other_includes\ejg/statistics/statistics.hpp(417) : error C2220: warning treated as error - no 'object' file generated 1>R:\Programming_Projects\Spirit_Price\ejg_uint_parser_timing \other_includes\ejg/statistics/statistics.hpp(417) : warning C4244: 'return' : conversion from 'double' to 'unsigned int', possible loss of data
return std::ceil(-std::log(a)/std::log(2.0)); Ok, fair play, perhaps it's static_cast time.
1>R:\Programming_Projects\Spirit_Price\ejg_uint_parser_timing \other_includes\ejg/statistics/statistics.cpp(28) : error C2039: 'ptr_fun' : is not a member of 'std' 1>R:\Programming_Projects\Spirit_Price\ejg_uint_parser_timing \other_includes\ejg/statistics/statistics.cpp(28) : error C2873: 'ptr_fun' : symbol cannot be used in a using-declaration
It jolly well is a member of std::, perhaps I should include <functional> then!
1>R:\Programming_Projects\Spirit_Price\ejg_uint_parser_timing \other_includes\ejg/timer.cpp(273) : warning C4003: not enough actual parameters for macro 'max'
WTF? What the hell's wrong with this? time_raw_atom( _Operation f) { ticks t0(0),t1(0),delta(std::numeric_limits<ticks>::max()); Ok. I bet MSVC (that's what you're using right) defines macros called "min" and "max". I guess that's what happens when one sips from the teat of the devil. A couple of undefs perhaps..
1>R:\Programming_Projects\Spirit_Price\ejg_uint_parser_timing \other_includes\ejg/timer.cpp(384) : warning C4003: not enough actual parameters for macro 'min' 1>R:\Programming_Projects\Spirit_Price\ejg_uint_parser_timing \other_includes\ejg/timer.cpp(385) : warning C4003: not enough actual parameters for macro 'max' 1>using native typeof
ticks max_global_ticks(std::numeric_limits<ticks>::min()), min_global_ticks(std::numeric_limits<ticks>::max()); Ditto....
1>R:\Programming_Projects\Spirit_Price\ejg_uint_parser_timing \other_includes\ejg/timer.hpp(1018) : warning C4512: 'ejg::generic_timer<ticks>' : assignment operator could not be generated 1> with 1> [ 1> ticks=ticks 1> ] 1> .\ejg_uint_parser.cpp(133) : see reference to class template instantiation 'ejg::generic_timer<ticks>' being compiled 1> with 1> [ 1> ticks=ticks 1> ] 1>Build Time 0:09 1>Build log was saved at "file://r:\Programming_Projects\Spirit_Price\ejg_uint_parser_timing \Release\BuildLog.htm" 1>ejg_uint_parser_timing - 3 error(s), 5 warning(s)
Hmm, perhaps confusing the name of the template parameter with the type. I don't need an assignment operator for ejg::generic_timer<?>. Looks like it may be an oblique way of moaning about the const member attribute.
So yes, this is very much not usable for me,
Ouch.
but there is your buildlog anyway. :)
Thanks......... ......I think. ;-) Looking back at this email I think it's doable... Give me 10 mins (then I really must go to bed!). -ed ------------------------------------------------ "No more boom and bust." -- Dr. J. G. Brown, 1997