Release Notes
ObjexxFCL 3.0.0
- FArrays renamed for clarity (breaking change but could be typedef'd away)
- 6-D FArrays added
- CPArray renamed CArrayP (breaking change but could be typedef'd away)
- Namespace scope friend function declarations added to avoid dependence on friend injection or ADL lookup mechanisms
- Minor source reorganization and tweaks
ObjexxFCL 2.7.0
- Optional runtime proxy const-correctness checks
- Rank 4 and 5 KeyFArrays added
- New date function
- Minor source reorganization and tweaks
- Improved development and build systems
ObjexxFCL 2.6.3
- Merged formatted i/o system into format.hh/.cc
- Move internal namespace files into main source directory
- Put bit functions in Fmath into bit namespace to avoid collisions with new C++0x functors
- Minor additions and tweaks to Fstring and string_functions
- Work-around for GCC 4.3 friend lookup bug
- Portable build and unit testing drivers
- Minor source reorganization and tweaks
ObjexxFCL 2.6.2
- CArrayP added: CArray with proxy capability
- Generator operators added to CArray
- Minor source reorganization and tweaks
ObjexxFCL 2.6.1
- Faster FArray redimensioning
- New fast swap functions for IndexRange and Dimension classes
- Minor source reorganization and tweaks
ObjexxFCL 2.6.0
- Cstring added
- char.functions renamed (was char_functions)
- string.functions renamed (was string_functions) and extended
- Fstring functions extended and made consistent with string.functions
- trim_ws and trimmed_ws in Fstring and string.functions changed to remove only trailing whitespace: use the strip_whitespace and stripped_whitespace functions for removing whitespace from either or both string tails
- array.iterator added
- Minor source reorganization and tweaks
ObjexxFCL 2.5.3
- KeyFArrays added
- Forward declaration headers added and included in class declarations
- Fmath: fix for 4-argument template min/max function to return by reference
- Additional assertions added
- Minor source tweaks
ObjexxFCL 2.5.2
- FArray size reporting support added via OBJEXXFCL_FARRAY_SIZE_REPORT macro
- F formatting in formatted.o changed to show more precision in some cases
- Container typedefs for Container_size added
ObjexxFCL 2.5.1
- IBM C++ compatibility work-arounds
- CamelCase style typedef names added
- Minor source reorganization and file renaming
ObjexxFCL 2.5.0
- CArray added: memory-managed C-style array wrapper
- ChunkVector: member functions added and stream output moved to ChunkVector_io.hh
- ubyte added: unsigned byte
- Headers renamed to .hh extension
- Class forward declarations and typedefs put in .fwd.hh files
- Code format updated and doxygen tags added
ObjexxFCL 2.4.1
- FArray:
- Assignment of differently dimensioned array supported to facilitate storing STL containers of FArrays
- Cross product functions added for FArray1D
- New FArray2D functions:
- identity: Named identity matrix constructor
- to_identity: Converts to identity matrix
- diag: Named diagonal matrix constructor
- to_diag: Converts to a diagonal matrix
- operator*= and right_multiply_by: Right-multiply by an FArray
- transposed: Transposed copy of the array
ObjexxFCL 2.4.0
- FArray:
- Data-preserving redimension functions added for real FArrays
- swap functions added for real FArrays
- Initializer set and clear functions added for real FArrays
- Copy constructor template variants made explicit to prevent unintended copying
- Generators added for real FArrays: A + B, A - B, A + 1, -A, etc.
- STL-like typdefs added: reference, pointer, etc.
- ChunkVector reimplemented for performance and dynamic growth:
- Implemented as std::vector< Chunk >
- Chunk is now an efficient growable array with controllable capacity
- Constructor that doesn't initialize built-in C++ value types is available for performance
- std::vector interoperation
- push_back, pop_back, resize, shrink, and swap operations support efficient dynamic growth
- STL-like typdefs added: reference, pointer, etc.
- Exponent argument must be specified as an unsigned value or ChunkExponent( x ) to disambiguate some ChunkVector function calls
- Dimension expression functions added: min, max, square, cube, and pow
ObjexxFCL 2.3.4
- Refined/extended string_of and Fstring_of functions
- Added FArray assign functions that redimension if necessary and assign another array's values
- Microsoft® Visual C++ 7.1 compatibility added
ObjexxFCL 2.3.3
- Windows and Linux 64-bit platform compatibility and large array support
- Formatted output single-space support for std::complex added
ObjexxFCL 2.3.2
- ChunkVector class template for very large vector support in a possibly memory fragmented application space added
- Real FArray copy + IndexRange constructors added
- rvalue_cast template function added
ObjexxFCL 2.3.1
- Eliminated convenience header inclusions for finer-grained inclusion control and faster builds
- Added FArrayN.all.h convenience wrapper headers that include all headers for a FArrays of rank N
- Dimension.h insulated from DimensionExpression hierarchy headers for faster builds: DimensionExpressions.h must now be included by application code that creates Dimension expressions
- Moved ObserverMulti std::set into SetWrapper class to allow forward declarations and faster builds
- Minor refinements
ObjexxFCL 2.3.0
- Automatic dynamic array sizing via Dimension objects
- Proxy arrays that track their source arrays through (re)sizing
- Argument/proxy array attach/detach and default construction
- Array size overflow detection in debug builds
- Optional default array initialization
- Assumed-size array parameter changed from '*' to star to avoid char--int ambiguity
- Formatted input slice function renamed to bite to avoid ambiguity with std::slice
- Numeric conversion functions to/from std::string and Fstring
- GCC 3.3 and 3.4 support on Linux, Mac OS X, Win32, ...
- Intel C++ 8.0 and 8.1 support on Linux & Win32
ObjexxFCL 2.2.4
- Migrate FArray assignment operators to concrete classes to avoid ambiguity/visibility issues
ObjexxFCL 2.2.3
- GCC 3.4 support
- ObjexxFCL_Platform.h removed
- FArray_Section renamed FArraySection
- Minor refinements
ObjexxFCL 2.2.2
- Fixed resizing operation order bug introduced in 2.2.0
- Minor refinements
ObjexxFCL 2.2.1
- equal_dimensions FArray functions added
- Minor refinements
ObjexxFCL 2.2.0
- Arrays of up to five dimensions
- Faster subscript-based and linear array accessors
- "Argument" arrays can be passed any arrays or array elements
- Two array element passing modes
- Assumed-size array arguments
- Fast linear array indexing
- Array and string constructor initializer function support
- Smart traits-based array stream formatted output
- Additional Fortran 77 and 95 compatible intrinsic functions
- Stream-based Fortran-like formatted i/o
- Project-specific namespace control and typedef naming
See the Users and Developers guides for complete documentation.
|