我的模板类 Queue 有问题,我一直在实现文件中实现这些函数,所以我看到了这个答案并决定在头文件中进行实现:
队列文件
#ifndef QUEUE_HPP
#define QUEUE_HPP
#include "Instruction.hpp"
#include "MicroblazeInstruction.hpp"
#include <memory>
#include <list>
template<typename T>
class Queue{
public:
Queue(unsigned int max): maxSize{max} {};
~Queue();
std::list<T> getQueue(){
return queue;
};
void push(T obj){
if(queue.size() < maxSize){
queue.push_front(obj);
}
else{
queue.pop_back();
queue.push_front(obj);
}
};
private:
Queue(const Queue&);
Queue& operator=(const Queue&);
unsigned int maxSize;
std::list<T> queue;
};
#endif
Run Code Online (Sandbox Code Playgroud)
我从我的主要调用这个函数:
#include "icm/icmCpuManager.hpp"
#include "Instruction.hpp"
#include "MicroblazeInstruction.hpp"
#include "CpuManager.hpp"
#include "File.hpp"
#include "Utils.hpp"
#include "MbInstructionDecode.hpp"
#include "Queue.hpp"
#include "PatternDetector.hpp"
#include …Run Code Online (Sandbox Code Playgroud) 我正在将现有的 Express 应用程序转换为 NestJS,目前我有一个配置文件,在其中为每个微服务创建多个 axios 实例:
export const writeModelApi = axios.create({
baseURL: getWriteModelApiUrl(),
});
export const readModelApi = axios.create({
baseURL: getReadModelApiUrl(),
});
export const configApi = axios.create({
baseURL: getConfigApiUrl(),
});
function addCamelizeInterceptors(api: any) {
api.interceptors.request.use(
(config: AxiosRequestConfig): AxiosRequestConfig => {
config.data = decamelizeKeys(config.data);
return config;
},
(error: any) => {
return Promise.reject(error);
}
);
api.interceptors.response.use(
(response: AxiosResponse): AxiosResponse => {
response.data = camelizeKeys(response.data);
return response;
},
(error: any) => {
if (error.response != null) {
error.response.data = camelizeKeys(error.response.data);
}
return …Run Code Online (Sandbox Code Playgroud)