Aldebaran documentation
|
C++ Libraries
|
index
libqi-api
2.8.7.4
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
qi
type
typedispatcher.hpp
Go to the documentation of this file.
1
#pragma once
2
/*
3
** Copyright (C) 2013 Aldebaran Robotics
4
** See COPYING for the license
5
*/
6
7
#ifndef _QI_TYPE_TYPEDISPATCHER_HPP_
8
#define _QI_TYPE_TYPEDISPATCHER_HPP_
9
10
#include <
qi/type/typeinterface.hpp
>
11
12
namespace
qi {
13
17
template
<
typename
Dispatcher>
18
Dispatcher&
typeDispatch
(Dispatcher& dispatcher, AnyReference value);
19
20
21
// class QI_API TypeDispatcher
22
// {
23
// public:
24
// void visitUnknown(qi::AnyReference value);
25
// void visitVoid();
26
// void visitInt(qi::int64_t value, bool isSigned, int byteSize);
27
// void visitFloat(double value, int byteSize);
28
// void visitString(char* data, size_t size);
29
// void visitList(qi::AnyIterator begin, qi::AnyIterator end);
30
// void visitMap(qi::AnyIterator begin, qi::AnyIterator end);
31
// void visitObject(qi::GenericObject value);
32
// void visitPointer(qi::AnyReference pointee);
33
// void visitTuple(const std::string &className, const std::vector<qi::AnyReference>& tuple, const std::vector<std::string>& elementNames);
34
// void visitDynamic(qi::AnyReference pointee);
35
// void visitRaw(qi::AnyReference value);
36
// void visitIterator(qi::AnyReference value);
37
// void visitAnyObject(qi::AnyObject& ptr);
38
// void visitOptional(qi::AnyReference value);
39
// };
40
41
}
42
43
#include <
qi/type/detail/typedispatcher.hxx
>
44
45
#endif // _QITYPE_TYPEDISPATCHER_HPP_
qi::typeDispatch
TypeDispatcher & typeDispatch(TypeDispatcher &v, AnyReference value)
Definition:
typedispatcher.hxx:13
typedispatcher.hxx
typeinterface.hpp
Copyright Aldebaran Robotics