Main Page
Module List
Reference documentation
Namespaces
Classes
Examples
distroDM
c++_api
inc
DM
ITableLayout.hpp
1
#ifndef DM_ITABLE_LAYOUT_HPP_INCLUDED
2
#define DM_ITABLE_LAYOUT_HPP_INCLUDED
3
4
#ifdef _MSC_VER
5
#pragma once
6
#endif
7
8
#include "DM/config.hpp"
9
#include "DM/ColumnTypes.hpp"
10
#include "DM/Handle.hpp"
11
12
//boost
13
#include <boost/any.hpp>
14
15
DM_NAMESPACE_BEGIN
16
17
class
DM_API
ITableLayout
18
{
19
public
:
20
virtual
~
ITableLayout
() {}
21
22
/*virtual void setFromNGAddInfoLayout(boost::any addinfolayout) = 0;
23
virtual boost::any getAsNGAddInfoLayout() const = 0;*/
24
25
virtual
unsigned
columns()
const
= 0;
26
27
virtual
const
char
* name(
unsigned
pos)
const
= 0;
28
virtual
E_ColumnType type(
unsigned
pos)
const
= 0;
29
virtual
E_ColumnSemantic semantic(
unsigned
pos)
const
= 0;
30
};
31
32
typedef
Handle<ITableLayout>
TableLayoutHandle
;
33
34
DM_NAMESPACE_END
35
36
37
#endif //DM_ITABLE_LAYOUT_HPP_INCLUDED