8 #include "oscargument.h"
11 #include <nap/event.h>
12 #include <nap/numeric.h>
13 #include <utility/uniqueptrvectoriterator.h>
37 OSCEvent(
const std::string& address);
43 OSCEvent(
const std::string&& address);
48 const std::string&
getAddress()
const {
return mAddress; }
60 template<
typename T,
typename... Args>
74 template<
typename T,
typename... Args>
88 int getCount()
const {
return static_cast<int>(mArguments.size()); }
111 std::size_t getSize()
const;
127 std::string mAddress;
134 template<
typename T,
typename... Args>
140 std::unique_ptr<T> value = std::make_unique<T>(std::forward<Args>(args)...);
143 std::unique_ptr<OSCArgument> argument = std::make_unique<OSCArgument>(std::move(value));
145 mArguments.emplace_back(std::move(argument));
146 return mArguments.back().get();
150 template<
typename T,
typename... Args>
153 return addArgument<nap::OSCValue<T>>(std::forward<Args>(args)...);
Definition: oscevent.h:25
Definition: uniqueptrvectoriterator.h:70
OSCArgument * addValue(Args &&... args)
Definition: oscevent.h:151
Definition: oscargument.h:153
std::vector< std::unique_ptr< OSCArgument > > OSCArgumentList
Definition: oscevent.h:17
const ArgumentConstIterator getArguments() const
Definition: oscevent.h:93
Definition: oscargument.h:25
int getCount() const
Definition: oscevent.h:88
Definition: templateapp.h:17
const std::string & getAddress() const
Definition: oscevent.h:48
OSCArgument * addArgument(Args &&... args)
Definition: oscevent.h:135
OSCArgument & operator[](std::size_t idx)
Definition: oscevent.h:117
std::unique_ptr< nap::OSCEvent > OSCEventPtr
Definition: oscevent.h:156
const OSCArgument & operator[](std::size_t idx) const
Definition: oscevent.h:123