DataObj.h 936 字节
Newer Older
G
groot 已提交
1 2 3 4 5 6 7 8
////////////////////////////////////////////////////////////////////////////////
// Copyright 上海赜睿信息科技有限公司(Zilliz) - All Rights Reserved
// Unauthorized copying of this file, via any medium is strictly prohibited.
// Proprietary and confidential.
////////////////////////////////////////////////////////////////////////////////

#pragma once

G
groot 已提交
9
#include "wrapper/Index.h"
G
groot 已提交
10

G
groot 已提交
11 12 13 14 15 16 17 18
#include <memory>

namespace zilliz {
namespace vecwise {
namespace cache {

class DataObj {
public:
G
groot 已提交
19
    DataObj(const engine::Index_ptr& index)
G
groot 已提交
20
            : index_(index)
G
groot 已提交
21 22
    {}

G
groot 已提交
23 24
    engine::Index_ptr data() { return index_; }
    const engine::Index_ptr& data() const { return index_; }
G
groot 已提交
25 26 27 28 29

    int64_t size() const {
        if(index_ == nullptr) {
            return 0;
        }
G
groot 已提交
30

G
groot 已提交
31
        return index_->ntotal*(index_->dim*4);
G
groot 已提交
32
    }
G
groot 已提交
33 34

private:
G
groot 已提交
35
    engine::Index_ptr index_ = nullptr;
G
groot 已提交
36 37 38 39 40 41 42
};

using DataObjPtr = std::shared_ptr<DataObj>;

}
}
}