libqi-api  2.8.7.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 
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 
44 
45 #endif // _QITYPE_TYPEDISPATCHER_HPP_
TypeDispatcher & typeDispatch(TypeDispatcher &v, AnyReference value)