From bd3fe0cac583739bc0d7c4b5c8f301bb350abca0 Mon Sep 17 00:00:00 2001 From: Andy Belle-Isle Date: Fri, 30 Aug 2019 00:19:31 -0400 Subject: Renamed lib to deps so github will ignore it for language stats --- .../examples/source/overloading_with_members.cpp | 66 ---------------------- 1 file changed, 66 deletions(-) delete mode 100644 lib/sol2/examples/source/overloading_with_members.cpp (limited to 'lib/sol2/examples/source/overloading_with_members.cpp') diff --git a/lib/sol2/examples/source/overloading_with_members.cpp b/lib/sol2/examples/source/overloading_with_members.cpp deleted file mode 100644 index 92f1260..0000000 --- a/lib/sol2/examples/source/overloading_with_members.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#define SOL_ALL_SAFETIES_ON 1 -#include - -#include "assert.hpp" - -#include - -struct pup { - int barks = 0; - - void bark () { - ++barks; // bark! - } - - bool is_cute () const { - return true; - } -}; - -void ultra_bark( pup& p, int barks) { - for (; barks --> 0;) p.bark(); -} - -void picky_bark( pup& p, std::string s) { - if ( s == "bark" ) - p.bark(); -} - -int main () { - std::cout << "=== overloading with members ===" << std::endl; - - sol::state lua; - lua.open_libraries(sol::lib::base); - - lua.set_function( "bark", sol::overload( - ultra_bark, - []() { return "the bark from nowhere"; } - ) ); - - lua.new_usertype( "pup", - // regular function - "is_cute", &pup::is_cute, - // overloaded function - "bark", sol::overload( &pup::bark, &picky_bark ) - ); - - const auto& code = R"( - barker = pup.new() - print(barker:is_cute()) - barker:bark() -- calls member function pup::bark - barker:bark("meow") -- picky_bark, no bark - barker:bark("bark") -- picky_bark, bark - - bark(barker, 20) -- calls ultra_bark - print(bark()) -- calls lambda which returns that string - )"; - - lua.script(code); - - pup& barker = lua["barker"]; - std::cout << barker.barks << std::endl; - c_assert(barker.barks == 22); - - std::cout << std::endl; - return 0; -} \ No newline at end of file -- cgit v1.2.3