On 2015-01-02 19:44, Benjamin Thaut wrote:
Is it possible to get dub to build vibe.d into a dynamic library?
Or is it at least possible to make dub link against the shared version
of phobos?
I found this blog post about dynamic linktimes, unfortunately it does
not describe how to actually make
On Friday, 2 January 2015 at 18:52:11 UTC, Benjamin Thaut wrote:
Am 02.01.2015 um 19:45 schrieb Vlad Levenfeld:
My personal favorite method is to use the primitives in
core.atomic with
a double or triple buffer. To double buffer, keep two buffers
in an
array (data[][] or something) and an
On Saturday, 3 January 2015 at 15:00:53 UTC, Ondra wrote:
I'm not sure if there's a way around that other than to add
some code in the class to register itself. You could use a
static constructor that adds itself to a list.
Or, to give each class a shared ID, you could add a static
Ooops.
Test() wasn't valid.
Still working to create a range object that iterates over an
internal data struct. But this was may error.
On Saturday, 3 January 2015 at 20:26:41 UTC, Darrell wrote:
Fails with:
t.d(34): Error: need 'this' for 'opCall' of type 'int()'
Also opCall seems to be
Off Topic ! But in the same way:
---
static string[] IDs;
ptrdiff_t getClassID(ClassType, ClassBase)()
if ((is(ClassType == class)) (is(ClassBase == class)))
{
import std.algorithm;
if (!is(ClassType : ClassBase))
return -1;
else {
auto classTypeString =
On Saturday, 3 January 2015 at 12:08:16 UTC, Vladimir Panteleev
wrote:
On Saturday, 3 January 2015 at 11:58:48 UTC, Laeeth Isharc
wrote:
import ae.utils;
ae.utils is a package, perhaps you meant to import ae.utils.xml?
aha. schoolboy error on my part. thank you for your help, and
On Saturday, 3 January 2015 at 13:53:09 UTC, John Colvin wrote:
I think you're talking cross-purposes. thread-local as in TLS
v.s. thread-local as in not-shared.
I am not talking TLS. TLS is related to object files, not types.
You don't have shared vs non-shared. You have many different
Seems when creating your own ranges they can't be a class.
Must be a struct or Segmentation fault (core dumped) will follow.
This works as long as Test is a struct.
struct Test
{
@property int front()
{
return 2;
}
void popFront()
{
}
enum bool empty = false;
};
static
Fails with:
t.d(34): Error: need 'this' for 'opCall' of type 'int()'
Also opCall seems to be required to create a range.
class Test
{
int opCall()
{
return 1;
}
@property int front()
{
return 2;
}
void popFront()
{
}
@property bool empty()
{
return
Hi Baz jklp,
thank you for ideas I will use your approach for this problem.
On Saturday, January 03, 2015 12:14:54 via Digitalmars-d-learn wrote:
On Saturday, 3 January 2015 at 00:12:35 UTC, Jonathan M Davis via
Digitalmars-d-learn wrote:
In D, if a type is not marked as shared, then it is by
definition
thread-local, and the compiler is free to assume that it's
On Saturday, 3 January 2015 at 12:12:47 UTC, Ola Fosheim Grøstad
wrote:
On Saturday, 3 January 2015 at 10:13:52 UTC, John Colvin wrote:
The Java, C11 and C++11 memory model.
Well...
http://en.cppreference.com/w/cpp/atomic/memory_order
Ok, with the exception of relaxed atomics.
Yes, I
On Saturday, 3 January 2015 at 13:33:21 UTC, Ola Fosheim Grøstad
wrote:
On Saturday, 3 January 2015 at 12:17:52 UTC, ketmar via
Digitalmars-d-learn wrote:
why should it? thread locals are... well, local for each
thread. you
can't access local of different thread without resorting to
low-level
On Saturday, 3 January 2015 at 14:28:07 UTC, Ondra wrote:
class C(T): B {} // missing in ModuleInfo
The reason is that's technically not a class and doesn't exist at
runtime, it is just a template for one (you can't new that, you'd
have to new C!some_actual_type). If you were to add a
On Saturday, 3 January 2015 at 12:34:10 UTC, Jonathan M Davis via
Digitalmars-d-learn wrote:
their memory model into account. The vast majority of D code
won't care one
whit and won't have any problems, because very little of it
needs to be
shared, and thread communication most typically is
I'm not sure if there's a way around that other than to add
some code in the class to register itself. You could use a
static constructor that adds itself to a list.
Or, to give each class a shared ID, you could add a static
member which returns some variation of its typeinfo. In fact,
On Saturday, 3 January 2015 at 12:17:52 UTC, ketmar via
Digitalmars-d-learn wrote:
why should it? thread locals are... well, local for each
thread. you
can't access local of different thread without resorting to
low-level
assembly and OS dependent tricks.
Of course you can, anything that is
On Sat, 03 Jan 2015 12:14:54 +
via Digitalmars-d-learn digitalmars-d-learn@puremagic.com wrote:
On Saturday, 3 January 2015 at 00:12:35 UTC, Jonathan M Davis via
Digitalmars-d-learn wrote:
In D, if a type is not marked as shared, then it is by
definition
thread-local, and the
Hi,
how can I get list of all children classes of class in program? I
was trying to use ModuleInfo from D Coockbook but this does not
work for template classes?
ex.:
class A{}
class B:A{} // ok in ModuleInfo
class C(T): B {} // missing in ModuleInfo
I am trying to assign every class its
Hi.
I would like to use the XML parser from CyberShadow's ae.utils -
I am building a tool to index RSS feeds in elasticsearch
(something like rssriver but with more complete functionality).
I am using dub to build the code.
So far I just have an empty boilerplate app.d with the line
import
On Saturday, 3 January 2015 at 00:12:35 UTC, Jonathan M Davis via
Digitalmars-d-learn wrote:
In D, if a type is not marked as shared, then it is by
definition
thread-local, and the compiler is free to assume that it's
thread-local.
I find this to be rather vague. If the compiler exploit this
On Saturday, 3 January 2015 at 10:13:52 UTC, John Colvin wrote:
The Java, C11 and C++11 memory model.
Well...
http://en.cppreference.com/w/cpp/atomic/memory_order
Yes, I was hoping that perhaps you knew more specifics. AFAIK,
when not restricted by any kind of barriers, SC-DRF does not
On Saturday, 3 January 2015 at 00:48:23 UTC, Peter Alexander
wrote:
On Friday, 2 January 2015 at 23:51:05 UTC, John Colvin wrote:
The rule (in C(++) at least) is that all data is assumed to be
visible and mutable from multiple other threads unless proved
otherwise. However, given that you do
Ali Çehreli wrote:
On 01/02/2015 10:10 PM, ted wrote:
I'm now taking the view that const is there for the compiler to
optimise code on the basis that nothing can alter it once set (and can
only be set on initialisation).
Of course, that is true for const values, not for const
On Friday, 2 January 2015 at 23:56:44 UTC, Ola Fosheim Grøstad
wrote:
On Friday, 2 January 2015 at 23:10:46 UTC, John Colvin wrote:
What significant optimisations does SC-DRF actually prevent?
By SC-DRF I assume you mean the Java memory model.
The Java, C11 and C++11 memory model.
AFAIK
On Sat, 03 Jan 2015 01:00:58 -0800
Ali Çehreli via Digitalmars-d-learn digitalmars-d-learn@puremagic.com
wrote:
On 01/02/2015 09:07 PM, ketmar via Digitalmars-d-learn wrote:
structure instance with const fields can be initialized only once, upon
creation. so did `Test myTest1;` -- you
On 01/02/2015 09:07 PM, ketmar via Digitalmars-d-learn wrote:
structure instance with const fields can be initialized only once, upon
creation. so did `Test myTest1;` -- you initialized `myTest1` with
default values. you can't reinitialize it later.
in C++ constness on member doesn't impose
On 01/02/2015 10:10 PM, ted wrote:
I'm now taking the view that const is there for the compiler to optimise
code on the basis that nothing can alter it once set (and can only be set
on initialisation).
Of course, that is true for const values, not for const references. In
the latter case it
On Saturday, 3 January 2015 at 11:58:48 UTC, Laeeth Isharc wrote:
import ae.utils;
ae.utils is a package, perhaps you meant to import ae.utils.xml?
On Saturday, 3 January 2015 at 15:44:16 UTC, Matt wrote:
Right, I've been looking at core.atomic, but it has very little
documentation, and it's territory I haven't explored, yet. Any
chance of some pointers along the way?
Could you be more specific about what you need help
understanding?
Darrell wrote:
Seems when creating your own ranges they can't be a class.
Must be a struct or Segmentation fault (core dumped) will follow.
This works as long as Test is a struct.
struct Test
{
@property int front()
{
return 2;
}
void popFront()
{
}
On 01/03/2015 12:26 PM, Darrell wrote:
Fails with:
t.d(34): Error: need 'this' for 'opCall' of type 'int()'
Also opCall seems to be required to create a range.
D has a feature that does not exists e.g. in C++: You can call the type
itself as a function. The 'Test()' syntax is a call
On Saturday, January 03, 2015 13:39:51 via Digitalmars-d-learn wrote:
On Saturday, 3 January 2015 at 12:34:10 UTC, Jonathan M Davis via
Digitalmars-d-learn wrote:
their memory model into account. The vast majority of D code
won't care one
whit and won't have any problems, because very
Thanks for the feedback.
With classes, you need to create an instance
Need to read up classes vs struct.
This bit of syntax was very intresting.
/* Alternatively, you can move test() inside Test as a static
opCall:
static Test opCall()
{
return new Test();
}
Then,
Why don't templates take a type from the default argument if
nothing else is supplied? It would be useful to be able to use an
enum to set a default.
enum MAX = 1_000;
auto sieve(T)(T max = MAX) {
import std.bitmanip : BitArray;
BitArray n;
n.length = max;
T[]
On Saturday, 3 January 2015 at 22:10:49 UTC, Vlad Levenfeld wrote:
On Saturday, 3 January 2015 at 15:44:16 UTC, Matt wrote:
Right, I've been looking at core.atomic, but it has very
little documentation, and it's territory I haven't explored,
yet. Any chance of some pointers along the way?
On Sunday, 4 January 2015 at 00:22:01 UTC, ixid wrote:
Why don't templates take a type from the default argument if
nothing else is supplied? It would be useful to be able to use
an enum to set a default.
I doubt anyone's ever thought of that particular use-case. Using
your typeof(MAX)
On Sunday, 4 January 2015 at 01:02:07 UTC, Matt wrote:
What I mean is that I don't understand what atomicStore,
atomicLoad, etc. actually DO, although in the case of the two
mentioned, I can hazard a pretty good guess. The documentation
doesn't exist to tell me how to use the functions found
I've been translating C++, OpenGL, and GLUT code into D, Derelict
OpenGL, and Derelict GLFW using:
import derelict.opengl3.gl3;
import derelict.glfw3.glfw3;
auto window = glfwCreateWindow(800, 600, Shaders, null, null);
etc.
Things have been going well. I then tried to implement window
On 4/01/2015 5:34 p.m., WhatMeWorry wrote:
I've been translating C++, OpenGL, and GLUT code into D, Derelict
OpenGL, and Derelict GLFW using:
import derelict.opengl3.gl3;
import derelict.glfw3.glfw3;
auto window = glfwCreateWindow(800, 600, Shaders, null, null);
etc.
Things have been going
On 01/02/2015 12:42 PM, Suliman wrote:
auto seismodownload = new seismoDownload(emsc_csem, this);
then:
auto mysql = new MySQL(parseconfig,eqs);
So could anybody show me better way?
Yes, there is a better way.
As I said I did not fully understand how use global class instance...
One
41 matches
Mail list logo