Jean-Philippe Andre
cfb3365060
cxx: Add strbuf support
...
Comes in two fashions:
- strbuf_view (read-only)
- strbuf (read/write)
2017-12-05 10:09:58 +09:00
Jean-Philippe Andre
db8227a34a
cxx: Add alternative form to instantiate object
...
This still uses the instantiate object but provides a more convenient
syntax for objects declared before their creation (eg. a global win).
Note: I wonder if we shouldn't rename instantiate to add. It would be
closer to EFL API's while being much much easier to type.
2017-12-05 10:09:58 +09:00
Jean-Philippe Andre
289a4e3aaa
cxx: Only give a single ref to unparented objects
...
On instantiation objects get either one or two refs:
- with a parent, they will have 2 refs, one for C++, one for the
parent.
- without a parent, they get a single ref, the one for C++
This will break the existing C++ examples, which I will fix in later
patches.
Note that the window is a strange object which can be created with no
parent but internally reparents itself to an object it creates (oh so
ugly).
2017-11-14 12:18:39 +09:00
Andy Williams
d5dbcdabd1
eo: Rename efl_ref_get to efl_ref_count
2017-11-08 09:30:42 +00:00
Jean-Philippe Andre
58527a3dbb
cxx: Fix log color in eina_log.hh
...
Changed from invalid "black" to arbitrary choice of green.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre
64698daeb5
cxx: Add support for operator == with objects
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre
e7009b77a2
cxx: Add experimental "easy" way to use wref
...
I hid it behind ifdef for now as I'm very much unsure of what I'm doing.
This whole modern C++ thing is still weird to me :)
Prerequisite:
#define EFL_CXX_WREF_EASY
This allows constructs such as:
auto wobj = obj._get_wref();
std::cout << wobj->text_get() << std::endl;
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre
88e10da36b
cxx: Mark wref::lock as const
...
This allows passing in wref to a lambda.
If we passed normal refs, we would end up with dangling references and
many ERR messages.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre
8c991b104c
cxx: Add nullptr constructor for weak refs
...
This allows constructs such as:
wref_obj = obj;
...
wref_obj = nullptr;
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre
03b22c4d7b
cxx: Instantiate objects with 2 refs
...
This is the original meaning of efl_add_ref().
Somehow the "ref" bool was set to true in the first call, and false in
the second call.
2017-11-07 09:57:24 +09:00
Felipe Magno de Almeida
de349e1b9e
eo-cxx: Fix compilation error with any_value received by value
2017-10-30 21:05:39 -02:00
Felipe Magno de Almeida
96d3af10bf
eolian-cxx: Add optional parameter to lambda for unnamed proxy instantiation
2017-09-28 17:50:14 -03:00
Felipe Magno de Almeida
bb887f9869
eolian-cxx: Fix compilation errors with new any_value_ptr and mstring types
2017-09-25 21:57:25 -03:00
Felipe Magno de Almeida
89608b15ee
eo-cxx: Fix test errors with new Eolian @own framework
2017-09-18 20:22:32 -03:00
Felipe Magno de Almeida
192c7e35f6
eo-cxx: Fix assignment operator for eo::concrete
2017-09-17 06:17:01 -03:00
Felipe Magno de Almeida
b5c4aeab94
eo-cxx: Fix possible non-initialization in copy-constructor and move-constructor
2017-09-15 15:16:58 -03:00
Felipe Magno de Almeida
6ded80a9b5
eo-cxx: Fix conversion from char* to std::string
2017-09-15 14:56:23 -03:00
Felipe Magno de Almeida
48b3c127f7
eo-cxx: Require instantiate keyword for constructors calling efl_add to avoid ambiguity
2017-09-08 11:47:29 +09:00
Felipe Magno de Almeida
1cfc96dd5b
eo-cxx: Fix ompilation error for uncomplete Eina_Future type
2017-09-06 17:03:36 +09:00
Felipe Magno de Almeida
a7649a7897
eolian-cxx: Add workaround for function pointer types
2017-08-22 22:40:13 -03:00
Felipe Magno de Almeida
348a7084af
eolian-cxx: Add workaround for clang removing const from parameters
2017-08-10 15:52:25 -03:00
Felipe Magno de Almeida
634f7d0dbb
eo-cxx: Add overload for Eina_Bool inout handling interoperability
...
Add convert_inout_impl overload to handle bool/Eina_Bool conversion in inout direction.
2017-07-27 13:20:20 -03:00
Felipe Magno de Almeida
0fcee227aa
eolian-cxx: Fix C++ generation errors with handle opaque types
2017-06-18 11:31:43 -03:00
Felipe Magno de Almeida
a1f2db255b
cxx: Modify how to generate C++ headers and allow cyclic dependencies
...
Allow cyclic dependencies in generated C++ headers by changing order
of includes and creating forward declarations.
2017-01-18 22:47:04 -02:00
Felipe Magno de Almeida
ae822a396c
eina-cxx: Add visit_unsafe to eina::variant and make ~variant possibly noexcept
...
visit_unsafe member function visits the variant but assumes the
pre-condition that the variant is not empty. This avoids the
possibility of throwing an exception when the destructors
of the types used in variant are also guaranteed to be
noexcept.
CID 1367508
2016-12-20 15:33:57 -03:00
Felipe Magno de Almeida
3704173017
eina-cxx: Add move constructor and move assignment operator for eina::variant
...
CID 1362797
2016-12-20 15:26:35 -03:00
Cedric BAIL
6ee17d8f2d
bindings: remove Eina_Promise from C++ bindings.
2016-11-07 12:03:55 -08:00
Felipe Magno de Almeida
137dd4864d
eina-cxx: eolian-cxx: Fix correct usage of is_eolian_object traits
2016-11-03 17:59:20 -02:00
Felipe Magno de Almeida
17da4b5b9d
eo-cxx: Fix compilation and warnings in clang
2016-10-20 04:52:18 -02:00
Felipe Magno de Almeida
88419e5e87
eina-cxx: Implement aligned_union for GCC 4.9
2016-09-22 19:27:56 -03:00
Felipe Magno de Almeida
10293e6520
eo-cxx: Add progress to future and promise
2016-09-20 23:30:29 -03:00
Felipe Magno de Almeida
5df0b6765b
eo-cxx: Replace for ENOMEM to avoid warnings
2016-09-14 00:55:51 -03:00
Felipe Magno de Almeida
5e735fe762
eo-cxx: Fix race promises
2016-09-14 00:33:22 -03:00
Felipe Magno de Almeida
3339f03964
eo-cxx: Add promise type
2016-09-14 00:33:22 -03:00
Felipe Magno de Almeida
e0b444f95f
eo-cxx: Add race promises through eina::variant
2016-09-14 00:33:22 -03:00
Felipe Magno de Almeida
2bdad3f1d6
eo-cxx: race for promises
2016-09-14 00:33:22 -03:00
Felipe Magno de Almeida
dbed78ad3b
eina-cxx: Moved variant to eina C++
2016-09-14 00:33:22 -03:00
Felipe Magno de Almeida
a63cfcafc7
eolian-cxx: Implement future template class for C++
2016-09-11 23:44:05 -03:00
Stefan Schmidt
6bc1dc6d83
cxx: follow EINA_ERROR_OUT_OF_MEMORY deprecation
...
Follow the rest of efl and use ENOMEM from now on. This avoids ugly deprecation
warnings.
2016-09-05 10:39:24 +02:00
Jean-Philippe Andre
ff0952abda
cxx: Fix compilation (Efl_Event)
2016-09-01 11:57:43 +09:00
Felipe Magno de Almeida
f8a6568d5c
eolian-cxx: Fix compilation break with Eo rename to EFL
2016-08-15 15:14:53 -03:00
Felipe Magno de Almeida
f4a90dcde2
eolian-cxx: Fix compilation break from changes in Eo nomenclature
...
Rename of classes and function calls in generated code and C++ headers
2016-08-11 16:24:15 -03:00
Felipe Magno de Almeida
d2dd1e744a
eo-cxx: Fix C++ use of new _eo_add_end signature
2016-07-12 17:28:38 -03:00
Felipe Magno de Almeida
1c402f62a9
eolian-cxx: Fix generation for ref generic_values and Eolian classes
2016-07-05 16:32:11 -03:00
Felipe Magno de Almeida
b09c1f8093
eolian-cxx: Added stringshare
2016-06-21 16:35:09 -03:00
Felipe Magno de Almeida
9be8f029af
eolian-cxx: Remove Eina_Bool from event function wrapper
2016-06-20 19:35:50 -03:00
Felipe Magno de Almeida
b97a156ac4
eolian-cxx: Work with @inout parameter of void type
2016-06-16 21:48:07 -03:00
Felipe Magno de Almeida
7e0692b5f3
eolian-cxx: Remove warning about unused parameter
2016-06-15 17:49:56 -03:00
Felipe Magno de Almeida
512fb7f39b
eina-cxx: Add overload for std::nullptr_t to stringview
2016-06-15 15:50:04 -03:00
Felipe Magno de Almeida
8906998ef2
eolian-cxx: Add support for ref parameters and correct ownership handling
2016-06-14 22:44:02 -03:00