Project

General

Profile

Feature #319

BOOST -- how it could help in CoCoALib

Added by John Abbott about 11 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Portability
Target version:
Start date:
21 Feb 2013
Due date:
% Done:

100%

Estimated time:
Spent time:

Description

We collect here some ideas on how using BOOST in CoCoALib could help improve the code. For the moment we opt not to be BOOST dependent; if we change our minds then we should implement the ideas listed here!


Related issues

Related to CoCoALib - Design #932: CoCoALib configuration: BOOST dependencyClosed2016-09-30

History

#1 Updated by John Abbott about 11 years ago

  • Category set to Portability

(1) Specifying the unsigned integral type for small exponents -- see #268.
(2) Threadsafe counters -- see #157 (related to #156 too).
(3) bool3, 3-state booleans; BOOST offers tribool -- see #152 and #138.

#2 Updated by Anna Maria Bigatti about 10 years ago

  • Target version set to CoCoALib-0.99533 Easter14

#3 Updated by John Abbott about 10 years ago

  • Target version changed from CoCoALib-0.99533 Easter14 to CoCoALib-1.0

#4 Updated by John Abbott over 7 years ago

  • Description updated (diff)

An aspect to bear mind if we do opt to become BOOST dependent is that linking would then require linking (first) with libcocoa and (then) with the relevant BOOST libraries. This could be important if the idea is to produce a statically linked executable -- are there static versions of the BOOST libraries? (e.g. on my linux "tower" computer here in Kassel there are only dynamic versions of the libraries).

Many BOOST "library parts" are really just templates in header files, so often there is no linkable code to deal with; but it is probably difficult to be sure that all future versions of BOOST will have the same no-linkable-code parts.

#5 Updated by John Abbott over 7 years ago

  • Related to Design #932: CoCoALib configuration: BOOST dependency added

#6 Updated by John Abbott over 6 years ago

  • Status changed from New to Closed
  • Assignee set to John Abbott
  • Target version changed from CoCoALib-1.0 to CoCoALib-0.99560
  • % Done changed from 0 to 100

I now think that it is better to avoid using BOOST if reasonably possible, since otherwise it introduces another "tedious external dependency". Note that CoCoA-5 dos use BOOST.

I'm hoping that new features in C++11, C++14 etc will suffice.

Closing.

Also available in: Atom PDF