jot
Overview
Module that has the usefull macro functions jot_c_ and jotln_c_.
#include "clingo/io/jot.h" #include "clingo/lang/expect.h" int main() { init_tap_c_(); cRecorder* rec = &recorder_c_( 1024 ); expect_c_( jotln_c_( rec, "boah: ", 128, c_c( " >= " ), 12 ) ); expect_c_( jotln_c_( rec, "the result value is: ", bool_c_( true ), "!" ) ); expect_c_( jot_c_( rec, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", // 13 "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", // 26 "\n", // 27 "_", "+", "_", "+", "_", "+", "_", "+", "_", "+", "_", "+", "_", // 40 "\n", // 41 "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", // 54 "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", // 67 "\n", // 68 "_", "+", "_", "+", "_", "+", "_", "+", "_", "+", "_", "+", "_", // 81 "\n", // 82 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, // 102 "\n", // 103 "_", "+", "_", "+", "_", "+", "_", "+", "_", "+", "_", "+", "_", // 116 "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", // 129 "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", // 142 "\n", // 143 "_", "+", "_", "+", "_", "+", "_", "+", "_", "+", "_", "+", "_", // 156 "\n", // 157 "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", // 170 "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", // 183 "\n", // 184 "_", "+", "_", "+", "_", "+", "_", "+", "_", "+", "_", "+", "_", // 197 "\n", // 198 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, // 208 "\n", // 209 "_", "+", "_", "+", "_", "+", "_", "+", "_", "+", "_", "+", "_", // 222 "\n", // 223 "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", // 236 "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", // 249 "\n", // 250 1, 2, 3, 4 // 254 ) ); jot_c_( rec, "the result value is: ", true, "!" ); expect_c_( recorded_is_c( rec, "boah: 128 >= 12\n" "the result value is: true!\n" "abcdefghijklmnopqrstuvwxyz\n" "_+_+_+_+_+_+_\n" "ABCDEFGHIJKLMNOPQRSTUVWXYZ\n" "_+_+_+_+_+_+_\n" "012345678901234567890\n" "_+_+_+_+_+_+_abcdefghijklmnopqrstuvwxyz\n" "_+_+_+_+_+_+_\n" "ABCDEFGHIJKLMNOPQRSTUVWXYZ\n" "_+_+_+_+_+_+_\n" "0123456789\n" "_+_+_+_+_+_+_\n" "ABCDEFGHIJKLMNOPQRSTUVWXYZ\n" "1234the result value is: 1!" ) ); return finish_tap_c_(); }
Type and Definitions
cJotDefaultMapping_
#define c_JotDefaultMapping_
Defines the default types that the corresponding jot function that should be used.
The supported types are: * cByte * char * bool * cRange * cRune * double * float * int8_t * int16_t * int32_t * int64_t * uint16_t * uint32_t * uint64_t * cBytes * cChars * char* * char const* * cRecorder* * cRecorder const* * cScanner* * cScanner const*
Functions
jot_type_c_
#define jot_type_c_( Rec, Val )
Util macro function that writes Val to the recorder Rec. The type of Val must exist in cJotDefaultMapping_.
jot_call_c_
#define jot_call_c_( Func, Rec, ... )
Util macro function that calls Func with Rec and each value in VA_ARGS. The function Func takes a recorder and a single value, like jot_type_c_.
jot_c_
#define jot_c_( Rec, ... )
jot writes the VA_ARGS values using the in the mapping defined function into the recorder Rec. The function returns true if it is possible to write all values.
jotln_c_
#define jotln_c_( Rec, ... )
Works like jot_c_ with the addition that a \n will be added at the end.
jotx_c_
#define jot1_c_( Func, Rec, Val ) #define jot2_c_( Func, Rec, Val, ... ) ... #define jot255_c_( Func, Rec, Val, ... )
Via script generated macro functions that jot_call_c_ uses.