Available C++ Libraries FAQ

Libraries available to download (Q-Z)

YAPL - Yet Another Parallel Library

YAPL (Yet Another Parallel Library) is a small experimental prototype implementation to illustrate some ideas about parallel libraries. It is a header-only library at present.

YAPL design principles:

The library is designed as an experimentation framework for containers and algorithms.
  1. User code should be the same in sequential and parallel modes. This ideal is not always achievable, but differences are minimized.
  2. There should be a clear separation between a container abstraction (a list of values) and its supporting implementation structure (e.g., a linked list of nodes or a vector.).
  3. For element access, YAPL uses mappings (a generalization of ranges). It does not use the C++ standard library iterators because iterators are inherently sequential.
  4. It should be easy to select the execution policy for an application (sequential, parallel, GPU, ).

YAPL structure:

The library offers components in five categories:
  • CONTAINER provides a minimal interface for the container abstraction. A key property of a container is that it provides mechanisms for generating mappings to that container;
  • SUPPORT STRUCTURE implements a concrete strategy that can be used by multiple containers;
  • MAPPING provides an interface to operate on a subset of container elements. Different subsets may be generated through different defining criteria;
  • ALGORITHM an operation that can be applied to any mapping;
  • POLICY allows the programmer to configure how operations are sequenced and elements allocated.

Operating Systems

  • All platforms that support ANSI C++ and PThreads


  • Any standard C++ compiler

Added : 2015-10-26 Amended: 2015-10-26 Licensing : Copyrighted freeware

Add a comment
Our ads
Buy gold
Beat the credit crunch - buy gold online - quickly, safely and at low prices
Trumphurst Home Page
C++ Usenet Newsgroup
A Web form for submissions to this list
Contact the author for permission to distribute

Copyright (c) 2024 Nikki Locke, Trumphurst Ltd.
Permission is granted to distribute over the Internet without charge. The author's permission is required (and usually given) to distribute in any other way, including on CD.