当前位置: 首页>>代码示例>>C++>>正文


C++ ArrayPtr::get方法代码示例

本文整理汇总了C++中ArrayPtr::get方法的典型用法代码示例。如果您正苦于以下问题:C++ ArrayPtr::get方法的具体用法?C++ ArrayPtr::get怎么用?C++ ArrayPtr::get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ArrayPtr的用法示例。


在下文中一共展示了ArrayPtr::get方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: createDecimatedRecord

// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
GenericRecord *Decimation::convert(Record *rec) {
	if ( rec->data() == NULL ) return NULL;

	GenericRecord *out;
	switch ( rec->dataType() ) {
		case Array::CHAR:
		case Array::INT:
		case Array::FLOAT:
		case Array::DOUBLE:
			out = createDecimatedRecord(rec);
			break;
		default:
			return NULL;
	}

	ArrayPtr data = rec->data()->copy(_dataType);
	out->setData(data.get());

	return out;
}
开发者ID:SeisComP3,项目名称:seiscomp3,代码行数:21,代码来源:decimation.cpp

示例2: fopen

    //-----------------------------------------------------------------
    void
    IniFile::load(const std::string filename)
    {
        _sections.clear();

        if (filename.empty()) {
            return;
        }

        FILE* file = fopen(filename.c_str(), "rb");
        if (!file) {
            return;
        }

        static ArrayPtr<char> s_Buffer;
        static int s_BufferSize = 0;
        if (s_BufferSize == 0) { // one-time initialization
            try {
                s_Buffer.reset(new char[1024]);
                s_BufferSize = 1024;
            } catch (const std::bad_alloc&) {
                return;
            }
        }

        int num_keys_read = 0;
        std::string section;
        std::string key;
        std::string value;
        char* ptr;
        int avail;
        int state = 'A';
        int input;
        int chr;

    fetch:
        // fill buffer with data from the stream
        int num_fetched = fread(s_Buffer.get(), 1, s_BufferSize, file);
        if (num_fetched == 0) {
            goto finish;
        } else {
            avail = num_fetched;
            ptr = s_Buffer.get();
        }

    parse:
        // parse the data in the buffer
        chr = *ptr;
        if (chr == '\n' || chr == '\r') {
            input = 'n';
        } else if (chr == '[') {
            input = 'l';
        } else if (chr == ']') {
            input = 'r';
        } else if (chr == '=') {
            input = 'z';
        } else if (chr == ' ') {
            input = 's';
        } else if (chr > 31 && chr < 127) {
            input = 'g';
        } else {
            input = 'u';
        }

        switch (state) {
        case 'A':
            switch (input) {
            case 'n':
            case 's':
                break;
            case 'l':
                state = 'B';
                break;
            case 'r':
            case 'z':
            case 'g':
            case 'u':
                state = 'C';
                break;
            }
            break;
        case 'B':
            switch (input) {
            case 'n':
                state = 'A';
                break;
            case 'g':
                state = 'D';
                section = chr;
                break;
            case 's':
                break;
            case 'l':
            case 'r':
            case 'z':
            case 'u':
                state = 'C';
                break;
            }
//.........这里部分代码省略.........
开发者ID:kyuu,项目名称:sphere,代码行数:101,代码来源:IniFile.cpp


注:本文中的ArrayPtr::get方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。