blob: c7117722b21f0625d04ec63191550cb201afa041 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
/*
*/
#ifndef COMMON_HPP_INCLUDED
#define COMMON_HPP_INCLUDED
#define FOREACH(basetype, it, src) for(basetype::const_iterator it = src.begin(); it != src.end(); ++ it)
#define FOREACH_M(basetype, it, src) for(basetype::iterator it = src.begin(); it != src.end(); ++ it)
#include <iostream>
#include <vector>
#define DEBUG(ss) do{ ::std::cerr << __FUNCTION__ << ": " << ss << ::std::endl; } while(0)
namespace AST {
template <typename T>
inline ::std::ostream& operator<<(::std::ostream& os, const ::std::vector<T>& v) {
if( v.size() > 0 )
{
bool is_first = true;
for( const auto& i : v )
{
if(!is_first)
os << ", ";
is_first = false;
os << i;
}
}
return os;
}
}
#endif
|