CUBRID Engine  latest
fileline_location.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2008 Search Solution Corporation
3  * Copyright 2016 CUBRID Corporation
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 /*
20  * fileline_location.hpp - interface of file & line location
21  */
22 
23 #ifndef _FILELINE_LOCATION_HPP_
24 #define _FILELINE_LOCATION_HPP_
25 
26 #include <iostream>
27 
28 namespace cubbase
29 {
30  // file_line - holder of file/line location
31  //
32  // probably should be moved elsewhere
33  //
35  {
36  fileline_location (const char *fn_arg = "", int l_arg = 0);
37 
38  static const std::size_t MAX_FILENAME_SIZE = 20;
39 
40  static const char *print_format (void)
41  {
42  return "%s:%d";
43  }
44 
45  void set (const char *fn_arg, int l_arg);
46 
48  int m_line;
49  };
50 
51 #define FILELINE_LOCATION_AS_ARGS(fileline) (fileline).m_file, (fileline).m_line
52 
53  std::ostream &operator<< (std::ostream &os, const fileline_location &fileline);
54 } // namespace cubbase
55 
56 #endif // _FILELINE_LOCATION_HPP_
char m_file[MAX_FILENAME_SIZE]
fileline_location(const char *fn_arg="", int l_arg=0)
static const std::size_t MAX_FILENAME_SIZE
static const char * print_format(void)
std::ostream & operator<<(std::ostream &os, const fileline_location &fileline)