aboutsummaryrefslogtreecommitdiffstats
path: root/deps/sol2/docs/source/api/object.rst
diff options
context:
space:
mode:
authorAndy Belle-Isle <drumsetmonkey@gmail.com>2019-08-30 00:45:36 -0400
committerAndy Belle-Isle <drumsetmonkey@gmail.com>2019-08-30 00:45:36 -0400
commitdc2493e7525bb7633f697ef10f72b72b46222249 (patch)
tree9816755219e65d3f47fdce81c78f3736a7ddb8ab /deps/sol2/docs/source/api/object.rst
parent9d2b31797d0cfd130802b69261df2cd402e39b49 (diff)
Forget what I said, I just need to change git attributes to mark for vendor
Diffstat (limited to 'deps/sol2/docs/source/api/object.rst')
-rw-r--r--deps/sol2/docs/source/api/object.rst68
1 files changed, 0 insertions, 68 deletions
diff --git a/deps/sol2/docs/source/api/object.rst b/deps/sol2/docs/source/api/object.rst
deleted file mode 100644
index 8f3765d..0000000
--- a/deps/sol2/docs/source/api/object.rst
+++ /dev/null
@@ -1,68 +0,0 @@
-object
-======
-*general-purpose safety reference to an existing object*
-
-
-.. code-block:: cpp
-
- class object : reference;
-
-
-``object``'s goal is to allow someone to pass around the most generic form of a reference to something in Lua (or propogate a ``nil``). It is the logical extension of :doc:`sol::reference<reference>`, and is used in :ref:`sol::table's iterators<table-iterators>`.
-
-
-members
--------
-
-.. code-block:: cpp
- :caption: overloaded constructor: object
- :name: overloaded-object-constructor
-
- template <typename T>
- object(T&&);
- object(lua_State* L, int index = -1);
- template <typename T, typename... Args>
- object(lua_State* L, in_place_t, T&& arg, Args&&... args);
- template <typename T, typename... Args>
- object(lua_State* L, in_place_type_t<T>, Args&&... args);
-
-There are 4 kinds of constructors here. One allows construction of an object from other reference types such as :doc:`sol::table<table>` and :doc:`sol::stack_reference<stack_reference>`. The second creates an object which references the specific element at the given index in the specified ``lua_State*``. The more advanced ``in_place...`` constructors create a single object by pushing the specified type ``T`` onto the stack and then setting it as the object. It gets popped from the stack afterwards (unless this is an instance of ``sol::stack_object``, in which case it is left on the stack). An example of using this and :doc:`sol::make_object<make_reference>` can be found in the `any_return example`_.
-
-.. code-block:: cpp
- :caption: function: type conversion
-
- template<typename T>
- decltype(auto) as() const;
-
-Performs a cast of the item this reference refers to into the type ``T`` and returns it. It obeys the same rules as :ref:`sol::stack::get\<T><stack-get>`.
-
-.. code-block:: cpp
- :caption: function: type check
-
- template<typename T>
- bool is() const;
-
-Performs a type check using the :ref:`sol::stack::check<stack-check>` api, after checking if the internally stored reference is valid.
-
-
-non-members
------------
-
-.. code-block:: cpp
- :caption: functions: nil comparators
-
- bool operator==(const object& lhs, const nil_t&);
- bool operator==(const nil_t&, const object& rhs);
- bool operator!=(const object& lhs, const nil_t&);
- bool operator!=(const nil_t&, const object& rhs);
-
-These allow a person to compare an ``sol::object`` against :ref:`nil<nil>`, which essentially checks if an object references a non-nil value, like so:
-
-.. code-block:: cpp
-
- if (myobj == sol::lua_nil) {
- // doesn't have anything...
- }
-
-
-.. _any_return example: https://github.com/ThePhD/sol2/blob/develop/examples/source/any_return.cpp