Rumba C++ SDK
PlugList.h
Go to the documentation of this file.
1 /*
2 
3  *
4  ***
5  *****
6  ********************* Mercenaries Engineering SARL
7  ***************** Copyright (C) 2018
8  *************
9  ********* http://www.mercenaries-engineering.com
10  ***********
11  **** ****
12  ** **
13 
14 */
15 #pragma once
16 
17 #include "Value.h"
18 
19  namespace maquina
20  {
22  class MAQUINA_EXPORT PlugList : public Value
23  {
24  public:
25 
27 
28  PlugList(const Value &v);
29 
31 
33  {
34  public:
37  public std::iterator<
38  std::forward_iterator_tag,
39  Plug, std::ptrdiff_t, Plug, Plug >
40  {
41  public:
42  reference operator*() const;
43  bool operator==(const Iterator &other) const;
44  bool operator!=(const Iterator &other) const;
45  Iterator& operator++();
46  Iterator( void *iterator );
47  Iterator( const Iterator &other );
48  ~Iterator();
49  private:
50  void *_internal;
51  };
52 
53  Plugs( void *value )
54  : _value{ value }
55  {}
56  Iterator begin();
57  Iterator end();
58  private:
59  void* _value;
60  };
61 
63  Plugs plugs() const;
64 
66  PlugList(const std::shared_ptr<Impl>& impl)
67  : Value{ impl }
68  {}
69  };
70  }
MAQUINA_EXPORT Node reference(Node &root, const std::wstring &filepath, const std::string &reference_root_name="")
Reference the content of a file into the project.
Plugs(void *value)
Definition: PlugList.h:53
This version of the SDK is unstable, i-e, it may change with no warning.
Definition: AddCurveAction.h:20
A Plug iterator.
Definition: PlugList.h:36
#define MAQUINA_EXPORT
Definition: Export.h:31
bool operator!=(const C *str, const StringViewBase< C, STDS > &sv) noexcept
Definition: StringView.h:305
A value containing a list of plugs.
Definition: PlugList.h:22
bool operator==(const C *str, const StringViewBase< C, STDS > &sv) noexcept
Definition: StringView.h:273
Color4< T > operator*(S a, const Color4< T > &v)
Definition: ImathColor.h:727
A Plug accessor.
Definition: PlugList.h:32
Base class of all Rumba values.
Definition: Value.h:34