1.. sol documentation master file, created by
2   sphinx-quickstart on Mon Feb 29 21:49:51 2016.
3   You can adapt this file completely to your liking, but it should at least
4   contain the root `toctree` directive.
5
6.. image:: media/sol.png
7	:target: https://github.com/ThePhD/sol2
8	:alt: sol repository
9	:align: center
10
11sol |version|
12=============
13*a fast, simple C++ and Lua Binding*
14
15
16When you need to hit the ground running with Lua and C++, `sol`_ is the go-to framework for high-performance binding with an easy to use API.
17
18get going:
19----------
20
21.. toctree::
22	:maxdepth: 1
23	:name: mastertoc
24
25	tutorial/all-the-things
26	tutorial/tutorial-top
27	errors
28	compilation
29	features
30	functions
31	usertypes
32	containers
33	threading
34	traits
35	api/api-top
36	mentions
37	benchmarks
38	performance
39	safety
40	exceptions
41	rtti
42	codecvt
43	build
44	licenses
45	origin
46
47
48"I need feature X, maybe you have it?"
49--------------------------------------
50Take a look at the :doc:`Features<features>` page: it links to much of the API. You can also just straight up browse the :doc:`api<api/api-top>` or ease in with the :doc:`tutorials<tutorial/tutorial-top>`. To know more about the implementation for usertypes, see :doc:`here<usertypes>` To know how function arguments are handled, see :ref:`this note<function-argument-handling>`. Don't see a feature you want? Send inquiries for support for a particular abstraction to the `issues`_ tracker.
51
52
53the basics:
54-----------
55
56.. note::
57	The code below *and* more examples can be found in the `examples directory`_
58
59
60.. literalinclude:: ../../examples/docs/simple_functions.cpp
61	:name: simple-functions-example
62	:linenos:
63
64.. literalinclude:: ../../examples/docs/simple_structs.cpp
65	:name: simple-structs-example
66	:linenos:
67
68
69helping out
70-----------
71
72You can support sol2 development by `donating here`_. This is a time-consuming effort, so individuals who donate get to:
73
74- steer the direction and time spent on sol
75- get a role on the Discord server
76- get their name put up in the CONTRIBUTORS list
77- put something of their choice on sol2's README or the documentation's front page
78
79You can also help out the library by submitting pull requests to fix anything or add anything you think would be helpful! This includes making small, useful examples of something you haven't seen, or fixing typos and bad code in the documentation.
80
81Finally, `come join in Discord`_!
82
83Indices and tables
84==================
85
86* :ref:`genindex`
87* :ref:`search`
88
89.. _Sol: https://github.com/ThePhD/sol2
90.. _issues: https://github.com/ThePhD/sol2/issues
91.. _examples directory: https://github.com/ThePhD/sol2/tree/develop/examples
92.. _donating here: https://www.paypal.me/LMeneide
93.. _come join in Discord: https://discord.gg/buxkYNT
94