// Copyright 2018 Google LLC. // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. #ifndef SkPDFUnion_DEFINED #define SkPDFUnion_DEFINED
class SkPDFObject; class SkWStream; struct SkPDFIndirectReference;
/** A SkPDFUnion is a non-virtualized implementation of the non-compound, non-specialized PDF Object types: Name, String, Number, Boolean.
*/ class SkPDFUnion { public: // Move constructor and assignment operator destroy the argument // and steal their references (if needed).
SkPDFUnion(SkPDFUnion&&);
SkPDFUnion& operator=(SkPDFUnion&&);
~SkPDFUnion();
/** The following nine functions are the standard way of creating
SkPDFUnion objects. */
/** These two functions do NOT take ownership of char*, and do NOT copy the string. Suitable for passing in static const strings. For example: SkPDFUnion n = SkPDFUnion::Name("Length");
SkPDFUnion u = SkPDFUnion::String("Identity"); */
/** SkPDFUnion::Name(const char*) assumes that the passed string is already a valid name (that is: it has no control or
whitespace characters). This will not copy the name. */ static SkPDFUnion Name(constchar*);
/** SkPDFUnion::String will encode the passed string. This will not copy. */ static SkPDFUnion ByteString(constchar*); static SkPDFUnion TextString(constchar*);
/** SkPDFUnion::Name(SkString) does not assume that the passed string is already a valid name and it will escape the
string. */ static SkPDFUnion Name(SkString);
/** SkPDFUnion::String will encode the passed string. */ static SkPDFUnion ByteString(SkString); static SkPDFUnion TextString(SkString);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.